2015-08-19 1 views
0

Мой корень URL конф являетсяДжанго решает один шаблон URL, но не другой

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: [] 

Как приходят Я могу решить один, но не другой?

ответ

1

Включите '' после patterns

Как это:

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

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

Это должно решить проблему.

1

Предполагается, что первым аргументом patterns является префикс, в данном случае, возможно, ''.

+0

Это сделал это. Я даже подумал об этом и подумал, что я проверил его. Мех ... До долгих дней, я полагаю. Благодаря ;) – Eldamir