【问题标题】:Django url reverse matching errorDjango url反向匹配错误
【发布时间】:2013-05-01 16:32:55
【问题描述】:

这是我的应用程序树:

myapp/
  assets/
  statics/
  settings.py
  urls.py
  \\other stuff
main/
  urls.py
  views.py
  templates/
     base.html
     index.html
  \\other stuff
manage.py

在测试我的应用程序时,出现以下错误:

Error during template rendering

In template /app/main/templates/base.html, error at line 32
Reverse for 'index' with arguments '()' and keyword arguments '{}' not found.

这是base.html中涉及错误的代码:

{% load i18n %}
\\some stuff

 <a class="brand" href="{% url 'index' %}">{{ site.name }}</a> <--- this line is the error

main/urls.py我有:

urlpatterns = patterns('',
  (r'^$', TemplateView.as_view(template_name="index.html")),
)

myapp/urls.py我有:

urlpatterns = patterns('',
                       url(r'', include('main.urls'), name='index'),

)

谁能告诉我我做错了什么以及为什么名字'index'没有反向匹配?

【问题讨论】:

  • 我真的不知道怎么做,我想把所有的主页逻辑放在“main”文件夹中,所有的应用程序配置放在“myapp”文件夹中。
  • 我之前的评论很愚蠢,看看答案。

标签: python django heroku


【解决方案1】:

name 用于单个视图,它不与 include 语句一起使用。试试这个方法:

在 main/urls.py:

urlpatterns = patterns('',
                       url(r'^$', TemplateView.as_view(template_name="index.html"), 
                           name='index'),
)

在 myapp/urls.py 中:

urlpatterns = patterns('',
                       url(r'', include('main.urls')),
)

【讨论】:

  • 感谢您的回答,但它给了我一个语法错误。 urlpatterns = patterns('', url(r'^accounts/', include('registration.urls')), url(r'', include('main.urls')), url(r'^admin/' , include(admin.site.urls)), # url(r'', include('django.contrib.auth.urls')), )
  • 恐怕我无法仅提供这些信息来帮助您。这就是main.urls 的全部内容吗?这就是错误所说的全部内容吗?
  • 您可能对正则表达式 r'' 有疑问,请注意,当 django 尝试通过其 url 发现视图时,它会从上到下检查您的根 urls.py。如果您在中间添加该正则表达式,它将首先检查您的main.urls 中的网址。所以你可能与其他 url 文件有冲突。
  • 我的直觉告诉我你的错误来自其他地方。如果 registration.urls 来自 django-registration 应用程序,它不会有任何错误,当然管理站点和 auth.urls 也没有任何错误......所以问题来自你的 main.urls 或其他地方index.html 模板中的语法错误。
  • 忘记我的评论。错误在 main/urls.py 中,但错误消息告诉我它在 myapp/urls.py 中。你的 anwser 就像一个魅力。非常感谢。
猜你喜欢
  • 2021-06-21
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2021-11-15
  • 2013-01-04
  • 2011-11-03
相关资源
最近更新 更多