Django和zinnia:升级后所有视图的NoReverseMatch

时间:2015-04-25 02:23:13

标签: django zinnia

我的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个图案   尝试过:[]

我无法弄清楚发生了什么。可能是我必须更新的另一个设置吗?

1 个答案:

答案 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>