NoReverseMatch в / список - PullRequest
       1

NoReverseMatch в / список

0 голосов
/ 02 сентября 2018

Я пытался получить динамическую ссылку

Ошибка:

NoReverseMatch at /

Реверс для 'new_single' с аргументами ключевого слова '{' pk ': 1}' не найден. Попробован 1 шаблон (ов): ['single /']

Код: вид:

{% for new in news %}

    {{ new.id }}
     <h2><a href="{% url 'new_single' pk=new.id %}">{{ new.title }}</a></h2>
{% endfor %}

URLs:

urlpatterns = [
    url(r'^$', views.news_list, name='news_list'),
    url(r'single/<int:pk>', views.new_single, name="new_single"),
]

вид:

def new_single(request,pk):
    new=get_object_or_404(News,id=pk)
    return render(request,"news/news_single.html",{"new":new})

1 Ответ

0 голосов
/ 02 сентября 2018

Вы смешиваете два варианта синтаксиса для определения шаблонов. Начиная с существует два способа задания шаблонов URL: с path(..) [Django-doc] и с re_path(..) [Django-doc] для шаблонов, подобных регулярным выражениям (псевдоним url(..) [Django-doc] ).

Однако вы смешиваете два. Вы можете использовать оба одновременно, но вам нужно указать для urlpatterns правильного ввода:

#  app/urls.py

from django.urls import <b>path</b>, re

urlpatterns = [
    url(r'^$', views.news_list, name='news_list'),
    <b>path</b>('single/<int:pk>/', views.new_single, name="new_single"),
]
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...