我想我需要第二双眼睛。
下面的例子应该是自我解释的。
我只需要能够在模板中反转我的网址。
/urls.py
urlpatterns = patterns('',
(r'^products/', include('products.urls')),
)
/products/urls.py
from django.conf.urls.defaults import patterns, url
urlpatterns = patterns('products.views',
url(r'^$', view="index", name="index"),
)
/templates/products/index.html
<a href="{% url products:index %}"> Products </a>
更新
完整的堆栈跟踪 - http://pastebin.com/9nLp4uP5
答案 0 :(得分:20)
Django 1.5之后语法发生了变化 而不是这样做:
<a href="{% url products_index %}"> Products </a>
你现在应该这样做(改为字符串):
<a href="{% url 'products_index' %}"> Products </a>
答案 1 :(得分:6)
您可以尝试这样做:
urlpatterns = patterns('products.views',
url(r'^$', view="index", name="products_index"),
)
/templates/products/index.html
<a href="{% url products_index %}"> Products </a>
除非有令人信服的理由想要命名您的网址,否则只需在urls.py
中使用更准确的名称,然后在url
模板标记中使用该名称就更容易了。
<强>更新强>
如果你得到的错误是No module named urls
,那么这意味着django项目没有读入其中一个urls.py文件。您确定已将products
添加到INSTALLED_APPS
文件中的settings.py
吗?此外,请在您的问题中包含堆栈跟踪,以便更容易识别错误发生的位置。