【问题标题】:Django resolves one URL pattern, but not the otherDjango 解析一种 URL 模式,但不是另一种
【发布时间】:2015-11-12 15:09:12
【问题描述】:

我的根 url conf 是

urlpatterns = patterns(
    '',
    url(r'^config-menu/', include('configuration.urls')),
    url(r'^', include('web.urls')),
)

configuration.urls 看起来像这样

urlpatterns = patterns(
    url(r'^$', ConfigHomeView.as_view(),
        name='config_home'),

    url(r'^address_labels/create$', AddressLabelCreateView.as_view(),
        name='address_label_create'),
)

现在观察:

>>> reverse('address_label_create')
'/config-menu/address_labels/create'
>>> reverse('config_home')
Traceback (most recent call last):
  File "<console>", line 1, in <module>
  File "/home/ruben/v3env/lib/python3.4/site-packages/django/core/urlresolvers.py", line 551, in reverse
    return iri_to_uri(resolver._reverse_with_prefix(view, prefix, *args, **kwargs))
  File "/home/ruben/v3env/lib/python3.4/site-packages/django/core/urlresolvers.py", line 468, in _reverse_with_prefix
    (lookup_view_s, args, kwargs, len(patterns), patterns))
django.core.urlresolvers.NoReverseMatch: Reverse for 'config_home' with arguments '()' and keyword arguments '{}' not found. 0 pattern(s) tried: []

为什么我可以解决一个,但不能解决另一个?

【问题讨论】:

    标签: python django url-pattern


    【解决方案1】:

    patterns 的第一个参数应该是前缀,在这种情况下可能是 ''

    【讨论】:

    • 做到了。我什至想过这一点,并认为我已经检查过了。嗯……我想是漫长的一天。谢谢;)
    【解决方案2】:

    patterns 之后包含''

    像这样:

    urlpatterns = patterns('',
        url(r'^$', ConfigHomeView.as_view(),
            name='config_home'),
    
        url(r'^address_labels/create$', AddressLabelCreateView.as_view(),
            name='address_label_create'),
    )
    

    这应该可以解决您的问题。

    【讨论】:

      【解决方案3】:

      在模式后添加''

      urlpatterns = patterns('',
          url(r'^$', ConfigHomeView.as_view(),
              name='config_home'),
      )
      

      Please see the patterns() docs.

      【讨论】:

        猜你喜欢
        • 2021-07-09
        • 1970-01-01
        • 2019-11-10
        • 1970-01-01
        • 1970-01-01
        • 2011-09-28
        • 2011-12-21
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多