Текущий путь, книга/1/2/3/4/5/6/, не соответствовал ни одному из них

Я создал представление

urlpatterns = [
   path('book/<suffix>/', views.bookview, name='bookDetail')`
]

Что я хочу

  • если кто-то перейдет по url '127.0.0.1:8000/book/1/2/3/4/5/6/'
  • .
  • я не хочу, чтобы django выдавал ошибку The current path, book/1/2/3/4/5/6/, didn’t match any of these.
  • .
  • но вместо этого он показывает тот же самый вид url book/<suffix>/ который view.bookview.
  • и как-то передать суффикс после book/, который является 1/2/3/4/5/6/ в качестве аргумента, чтобы я мог получить доступ к нему в моем представлении.
from django.urls import re_path

urlpatterns = [
    re_path(r'^book/(?P<suffix>[\w/]+)$', views.bookview, name='bookDetail')
]

Поскольку в параметре suffix могут быть специальные символы, необходимо закодировать строку. В python это можно сделать следующим образом

from urllib.parse import quote_plus
suffix = quote_plus('/1/2/3/4/5/6/')
Вернуться на верх