问题
为什么在 Django 1.4 下使用该cache_page
函数在模板中urls.py
使用标签时会导致 NoReverseMatch 错误url
?
设置
视图.py
from django.shortcuts import render
def index(request):
'''Display the home page'''
return render(request, 'index.html')
网址.py
按照cache_page
指示:
from django.conf.urls import patterns, include, url
from django.views.decorators.cache import cache_page
from my_project.my_app import views
urlpatterns = patterns('',
url(r'^$', cache_page(60 * 60)(views.index)),
)
索引.html
{% url my_project.my_app.views.index %}
错误信息
NoReverseMatch at /
Reverse for 'my_project.my_app.views.index' with arguments '()' and keyword arguments '{}' not found.
错误消息指出的违规行当然是:
{% url my_project.my_app.views.index %}
到目前为止我尝试过的
- 大量的谷歌搜索和搜索 SO
- 将代码简化为上面的示例以排除其他冲突
- 成功用作装饰
cache_page
器views.py
(根据文档不推荐) - 献给我们全能的 Django 霸主