[Fixed]-Python Django custom template tags register.assignment_tag not working


Even though this question is a few years old, people recently may be seeing this error again, but for a different reason. Here’s the error again:

AttributeError: 'Library' object has no attribute 'assignment_tag'

You may be seeing this error after upgrading to Django 2.0. This is because assignment_tag was deprecated in Django 1.9, and removed in Django 2.0:

Django 1.4 added the assignment_tag helper to ease the creation of template tags that store results in a template variable. The simple_tag() helper has gained this same ability, making the assignment_tag obsolete. Tags that use assignment_tag should be updated to use simple_tag.

Note that the behaviour of simple_tag is similar but not identical to assignment_tag in Django 1.8.



Just got this same error with package social_widgets, Python 3.7 and Django 2.2. Changing assignment_tag to simple_tag in social_widgets.py solved the problem for me.



Just ran into this during an upgrade to Django 2. The problem showed up in django-debug-toolbar but was actually corrected by updating django-webpack-loader to the latest version.


Leave a comment