2014-10-06 3 views
0

Я застрял на этой штуке.django - NoReverseMatch at/url/- странный вопрос

urls.py

print 'test before' 
urlpatterns = patterns('horoscopes.views', 
    url(r'^$', 'index', name="index"), 
    url(r'^(?P<sign_name>\w+)/(?P<sign_num>\d+)/$', 'horoscope_detail', name="horoscope_detail"), 
) 
print 'test after' 

HTML

<a href="{% trans 'Capricorn' as capri %}{% url 'horoscope_detail' capri 0 %}"> 
    Capri 
</a> 

views.py

def horoscope_detail(request, sign_name, sign_num): 
    # ... 

Я просто продолжаю получать:

Reverse для «ч oroscope_detail 'с аргументами' (u'Capricorn ', 0)' и аргументы ключевого слова '{}' не найдены. 0 шаблон (ы) пытались: []

"test before" и "test after" печатаются.

что я делаю неправильно здесь? регулярное выражение кажется правильным, но на самом деле заблуждение ..

+0

Возможно, это глупый вопрос, но соответствует ли элемент, соответствующий «Козерогу» и 0 * определенно * в базе данных? (Я предполагаю, что это тестовая база данных из вашего другого кода) –

+0

@cms_mgr Эта ошибка не связана с db. Маршрут даже не проходит через urls.py, это проблема сейчас. – doniyor

+0

вы пробовали вот так: '{% url 'horoscope_detail' sign_name = 'capri' sign_num = 0%}'? – andrean

ответ

1

Как Django CMS документы указанных здесь: http://docs.django-cms.org/en/2.4.2/extending_cms/app_integration.html#application-and-instance-namespaces, пространство имен приложение должно быть указано для того, чтобы успешно обратного адреса. Так что-то вроде этого должно работать:

{% url 'myapp_name:horoscope_detail' capri 0 %}