Текущий путь, книга/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/')