【问题标题】:NoReverseMatch, why django doesn't find the url?NoReverseMatch,为什么django找不到url?
【发布时间】:2016-11-15 04:23:47
【问题描述】:

我的网址有点问题,我搜索了几次但没有找到正确的答案。

我收到以下错误:

NoReverseMatch at /base/teams/
Reverse for 'base-home' with arguments '()' and keyword arguments '{}' not found. 0 pattern(s) tried: []

这是我的网址:

  • 来自项目:

    from django.conf.urls import url, patterns, include
    from django.contrib import admin
    
    urlpatterns = patterns('',
    # Examples:
    
    url(r'^base/$', include('django.contrib.flatpages.urls'), name='base-home'),
    url(r'^base/contact/$', include('django.contrib.flatpages.urls'), name='base-contact'),
    url(r'^base/teams/', include('app.urls'), name='base-teams'),
    
    # Uncomment the admin/doc line below to enable admin documentation:
    # url(r'^admin/doc/', include('django.contrib.admindocs.urls')),
    
    # Uncomment the next line to enable the admin:
    url(r'^admin/', include(admin.site.urls)),
    )
    
  • 来自应用程序:

    from django.conf.urls import *
    urlpatterns = patterns('',
      url(r'^$', 'app.views.teams_list', name='teams'),
      url(r'^(?P<slug>[-\w\d]+)/$', 'app.views.teams_list', name='teams_slug'),
      url(r'^show/(?P<id>\d+)/$', 'app.views.show_personne', name='show_personne'),
    )
    

这是模板中的调用:

<a class="navbar-brand" href="{% url 'base-home' %}">Website</a>

尝试加载页面“base/teams/”时会引发此错误。我不明白他为什么不匹配base-home视图名称......

感谢您的帮助, dg

【问题讨论】:

    标签: python django


    【解决方案1】:

    那是因为这条线

    url(r'^base/$', include('django.contrib.flatpages.urls'), name='base-home'),
    

    实际上并不解析为视图。相反,它是一个include 声明。

    How can I get the reverse url for a Django Flatpages template

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2013-09-26
      • 2013-01-19
      • 2015-07-18
      • 2013-10-05
      • 1970-01-01
      • 1970-01-01
      • 2017-03-14
      相关资源
      最近更新 更多