我的zinnia
(1.6.6)应用程序django
(0.14.1)正常运行。然后我将我的django升级到1.8.0并将我的百日草升级到0.15.1并进行了一些必要的更改,包括在我的自定义模板中将模板标签的名称从zinnia_tags
更改为zinnia
。< / p>
我遇到了'zinnia' is not a registered namespace
的问题,但通过在项目的主urls.py
中进行以下更改来解决这个问题:
# url(r'^blog/', include('zinnia.urls')),
url(r'^blog/', include('zinnia.urls', namespace='zinnia')),
但现在我的所有网页都出现NoReverseMatch
错误。例如:
NoReverseMatch:使用参数反转'zinnia_entry_archive_day' '(u'2015',u'02',u'23')'和关键字参数'{}'未找到。 0 尝试过的模式:[]
和
NoReverseMatch:使用参数反转'zinnia_tag_detail' 找不到'(u'Alumni',')和关键字参数'{}'。 0个图案 尝试过:[]
我无法弄清楚发生了什么。可能是我必须更新的另一个设置吗?
答案 0 :(得分:1)
事实证明,因为我已经调整并自定义了zinnia模板,并且命名空间已经更改,所以我还必须在url
调用的任何地方更改语法。下划线成为冒号。
转换
<a href="{% url 'zinnia_tag_detail' tag %}" rel="tag">
和
<a href="{% url 'zinnia_entry_archive_year' date|date:"Y" %}" rel="archives">{{ date|date:"Y" }}</a>
到
<a href="{% url 'zinnia:tag_detail' tag %}" rel="tag">
和
<a href="{% url 'zinnia:entry_archive_year' date|date:"Y" %}" rel="archives">{{ date|date:"Y" }}</a>