Wagtail links provides a consistent way to refer to links in a wagtail page.
Project description
wagtail-links
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:
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.
Searching links
Every field on a Link is searchable, both in the Snippets area and in the
link choosers: title, name, link_external, link_relative,
django_view_name, and the linked page's title. Each field is indexed as both
a full-text SearchField and an AutocompleteField (type-ahead).
The resolved URL is also indexed via the search_url property, which replaces
separators with spaces so full-text backends can match individual host/path
segments (e.g. 2022 in .../2022/...) — something they can't do against a
raw URL, which Postgres indexes as one opaque token.
Upgrading from an earlier version only changes what gets written to the search
index going forward; links already stored stay indexed under the old field set
until re-indexed. Run python manage.py update_index to rebuild the index so
existing links pick up the expanded searchable fields.
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
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file wagtail_links-2.12.0.tar.gz.
File metadata
- Download URL: wagtail_links-2.12.0.tar.gz
- Upload date:
- Size: 80.8 kB
- Tags: Source
- Uploaded using Trusted Publishing? Yes
- Uploaded via: twine/6.2.0 CPython/3.14.6
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
d800f36214ff4ca27608dc42115be56bfdb360f891ea6413e81896faaa393615
|
|
| MD5 |
7b899991d78a484057016483df277052
|
|
| BLAKE2b-256 |
bbf1a7801bdb39f3f705fc7dde6f9d6376895f93a07f2276f656af32bc6420e8
|
Provenance
The following attestation bundles were made for wagtail_links-2.12.0.tar.gz:
Publisher:
.gitlab-ci.yml on thelabnyc/wagtail-links
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
wagtail_links-2.12.0.tar.gz -
Subject digest:
d800f36214ff4ca27608dc42115be56bfdb360f891ea6413e81896faaa393615 - Sigstore transparency entry: 2186964186
- Sigstore integration time:
-
Permalink:
thelabnyc/wagtail-links@adece6ce1cf175a5f4c908c5db1aa337d835f566 -
Branch / Tag:
refs/tags/v2.12.0 - Owner: https://gitlab.com/thelabnyc
-
Access:
public
-
Token Issuer:
https://gitlab.com -
Runner Environment:
self-hosted -
Publication workflow:
.gitlab-ci.yml@adece6ce1cf175a5f4c908c5db1aa337d835f566 -
Trigger Event:
push
-
Statement type:
File details
Details for the file wagtail_links-2.12.0-py3-none-any.whl.
File metadata
- Download URL: wagtail_links-2.12.0-py3-none-any.whl
- Upload date:
- Size: 16.5 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? Yes
- Uploaded via: twine/6.2.0 CPython/3.14.6
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
eac3cc0e93e6024b4681c0a81c03e28ced4248133fd9b4083614f203bfa0b783
|
|
| MD5 |
188c143f29b8f3ea714fd98237383902
|
|
| BLAKE2b-256 |
d6143d9243d084dbe4a88a7e05b9de99e2e8c68d0b1d74d643860441d582e635
|
Provenance
The following attestation bundles were made for wagtail_links-2.12.0-py3-none-any.whl:
Publisher:
.gitlab-ci.yml on thelabnyc/wagtail-links
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
wagtail_links-2.12.0-py3-none-any.whl -
Subject digest:
eac3cc0e93e6024b4681c0a81c03e28ced4248133fd9b4083614f203bfa0b783 - Sigstore transparency entry: 2186964171
- Sigstore integration time:
-
Permalink:
thelabnyc/wagtail-links@adece6ce1cf175a5f4c908c5db1aa337d835f566 -
Branch / Tag:
refs/tags/v2.12.0 - Owner: https://gitlab.com/thelabnyc
-
Access:
public
-
Token Issuer:
https://gitlab.com -
Runner Environment:
self-hosted -
Publication workflow:
.gitlab-ci.yml@adece6ce1cf175a5f4c908c5db1aa337d835f566 -
Trigger Event:
push
-
Statement type: