Использую модель slug, чтобы переходить к статьям через названия в адресной строке. В URL прописал все как в документации:
urlpatterns = patterns('content.views',
url(r'^publication/add/', 'add_publication', name = 'Add_publication'),
url(r'^publication/(?P<slug>[a-z0-9_-]+)/$', 'get_publication', name = 'Get_publication'),
url(r'^publication/edit/(?P<slug>[a-z0-9_-]+)/$', 'edit_publication', name = 'Edit_publication'),
Проблема заключается в том, что когда в url я передаю параметр в таком виде:
<a href="{% url 'Edit_publication' publication.slug %}" class="btn btn-warning">Редактировать новость</a>
Выдается ошибка:
NoReverseMatch
Reverse for 'Edit_publication' with arguments '('text-2',)' and keyword arguments '{}' not found. 0 pattern(s) tried: []
Если я напишу в таком виде:
<a href="/publication/edit/{{ publication.slug }}" class="btn btn-warning">Редактировать новость</a>
то все работает без проблем, но так делать во всем сайте неправильно, как вы понимаете. Можете объяснить в чем заключается проблема? Добавлю, что способы наподобии "{% url 'content:edit_publication' publication.slug %}" или "{% url 'Edit_publication' slug=publication.slug %}" я пробовал, не помогает. View скидывать я думаю нет смысла, ибо параметры, исходя из второго способа принимает и работает без проблем.