Skip to main content

Wagtail links provides a consistent way to refer to links in a wagtail page.

Project description

Purpose

Wagtail links has two goals:

  • Provide a consistent way to refer to links, which may be of different types, so as to reduce decision fatigue
  • Minimize broken links as much as possible.

Install

Install wagtail-links via Pip.

pip install wagtail-links

Add wagtail_links to your Django project’s INSTALLED_APPS setting.

Run database migrations.

python manage.py migrate

Usage

Add a foreign key to the page you wish to add links to.

my_link = models.ForeignKey(
    'wagtail_links.Link',
    null=True,
    blank=True,
    on_delete=models.SET_NULL,
    related_name='+'
)

Neat:

admin.png

You may use it like:

<a href="{{ self.link.url }}">Link here</a>

From a template, you can also load a link by its name:

{% load get_wagtail_link_url from wagtail_links %}

<a href="{% get_wagtail_link_url 'my-link' %}">Link here</a>

This is useful for global page links, navigation, etc.

Validation and logging

The Link model will validate that one and only one field is set. It will also disallow invalid Django reverse view names.

If a URL cannot be determined, we’ll log the issue as a warning. We won’t throw an exception as that would be bad for users. You are responsible for capturing this log warning, perhaps using Sentry.

For example - let’s say you make a Django view name called admin:index. This would typically give you /admin/. Later the admin application is removed from the program, now this link fails. It will now display “” and generate a warning in your server logs.

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Files for wagtail-links, version 2.4.3
Filename, size File type Python version Upload date Hashes
Filename, size wagtail_links-2.4.3-py3-none-any.whl (13.4 kB) File type Wheel Python version py3 Upload date Hashes View
Filename, size wagtail-links-2.4.3.tar.gz (8.8 kB) File type Source Python version None Upload date Hashes View

Supported by

AWS AWS Cloud computing Datadog Datadog Monitoring Facebook / Instagram Facebook / Instagram PSF Sponsor Fastly Fastly CDN Google Google Object Storage and Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Salesforce Salesforce PSF Sponsor Sentry Sentry Error logging StatusPage StatusPage Status page