Как отформатировать URL-адрес, чтобы вернуть что-то вроде этого «product / 4 / Улучшенная светодиодная лампа» в шаблоне - PullRequest
1 голос
/ 25 марта 2019

Я пытаюсь вернуть отформатированный URL-адрес, который будет выглядеть как «edit-book / 4 / Улучшенная светодиодная лампа», используя тег {% url%}

Я пробовал {% url 'dashboard:editbook' 4 slug %}

вот корень url.py

from django.contrib import admin
from django.urls import include, path

urlpatterns = [
    path('', include('home.urls')),
    path('dashboard/', include('dashboard.urls')),
    path('admin/', admin.site.urls),
]

вот URL моего приложения на приборной панели, py

from django.urls import path
from . import views

app_name = 'dashboard'
urlpatterns = [
   path('edit-book/<int:id>/<slug:title>', views.BookView.as_view(), name='editbook'),
]

если я захожу на страницу «edit-book / 4 / Улучшенная светодиодная лампа» в моем браузере, она разрешается, но когда я пытаюсь воспроизвести это в виде с помощью тега {% url%}, выдается ошибка noReverseMatch

это ошибка скриншот ошибки

1 Ответ

2 голосов
/ 25 марта 2019

Ваш синтаксис выглядит правильно, и если slug переменная состоит из слага ([-a-zA-Z0-9_]+), она должна работать.

Просмотрите содержимое slug. Скриншот ошибки показывает, что это пустая строка.

...