Предположим, у меня есть проект Django, который выглядит следующим образом:
- project
- urls.py
- items
- urls.py
- views.py
Корневой URLconf выглядит следующим образом:
urlpatterns = patterns('',
url(r'^(?:items/)?$', include('items.urls')),
)
URLconf для элементов выглядит следующим образом:
urlpatterns = patterns('items.views',
url(r'^(?P<item_id>\d+)/$', 'view'),
)
views.py
содержит метод:
def view(request, item_id):
item = get_object_or_404(Item, pk=item_id)
return render(request, 'item/view.html', {'item': item})
Я пытаюсь использовать django.core.urlresolvers.reverse
в интерактивной оболочке Django, но он не работает:
>>> reverse('items.views.view', kwargs={'item_id': 12})
'/12/'
Проблема в том, что в обратном URL отсутствует префикс items/
из корневого URLconf.Что я делаю не так?