Add footnotes functionality to your Wagtail project.
- Add the app to
INSTALLED_APPS
:INSTALLED_APPS = [ ... "wagtail_footnotes", ... ]
- Add the footnotes
urls.py
to your project'surls.py
:Note: The URL has to be defined as above as it is currently hardcoded in the Javascript.from wagtail_footnotes import urls as footnotes_urls urlpatterns = [ ... path("footnotes/", include(footnotes_urls)), ... ]
- Update your page models to show the footnotes field:
class InformationPage(BasePage): ... content_panels = [ ... InlinePanel("footnotes", label="Footnotes"), ]
- Update your
RichTextBlock
s- Add
"footnotes"
to thefeatures
arg for eachRichTextBlock
that you want to have this functionality - You will also need to change any
RichTextBlock
s towagtail_footnotes.blocks.RichTextBlockWithFootnotes
- Add
- Update your page templates to include
{% include "wagtail_footnotes/includes/footnotes.html" %}
- Make and run migrations:
./manage.py makemigrations ./manage.py migrate
WAGTAIL_FOOTNOTES_TEXT_FEATURES
- Default:
["bold", "italic", "link"]
- Use this to update a list of Rich Text features allowed in the footnote text.
- Default:
- I click on the
Fn
button in the editor and it stops working- This is likely because the URL in the JS does not match the URL of the footnotes view. Check the URL in
wagtail_footnotes/static/footnotes/js/footnotes.js
matches the URL you set.
- This is likely because the URL in the JS does not match the URL of the footnotes view. Check the URL in
NoneType
error when rendering page.- Make sure you are rendering the field in the template using
{% include_block page.field_name %}
- Make sure you are rendering the field in the template using