Django URL - 无法在模板中反转url

how*_*his 14 django django-urls

我想我需要第二双眼睛.

以下示例应该是自我解释的.

我只需要能够在模板中反转我的网址.

/urls.py

urlpatterns = patterns('',
    (r'^products/', include('products.urls')),
)
Run Code Online (Sandbox Code Playgroud)

/products/urls.py

from django.conf.urls.defaults import patterns, url

urlpatterns = patterns('products.views',
    url(r'^$', view="index", name="index"),
)
Run Code Online (Sandbox Code Playgroud)

/templates/products/index.html

<a href="{% url products:index %}"> Products </a>
Run Code Online (Sandbox Code Playgroud)

UPDATE

完整的堆栈跟踪 - http://pastebin.com/9nLp4uP5

JOS*_*Ftw 25

Django 1.5后语法改变而不是这样做:

<a href="{% url products_index %}"> Products </a>

你现在应该这样做(字符串代替):

<a href="{% url 'products_index' %}"> Products </a>


Jor*_*ter 7

您可以尝试这样做:

urlpatterns = patterns('products.views',
    url(r'^$', view="index", name="products_index"),
)
Run Code Online (Sandbox Code Playgroud)

/templates/products/index.html

<a href="{% url products_index %}"> Products </a>
Run Code Online (Sandbox Code Playgroud)

除非有令人信服的理由想要命名您的网址,否则只需使用更精确的名称urls.py然后在url模板标记中使用该名称就更容易了.

更新

如果你得到的错误就是No module named urls这意味着django项目没有读取其中一个urls.py文件.你确认products已经被添加到INSTALLED_APPS了在settings.py文件?此外,请在您的问题中包含堆栈跟踪,以便更容易识别错误发生的位置.