Как экранировать '/' в урлах django
Я работаю над проектом, который генерирует динамические урлы например, если вы набираете mysite.com/<yourtexthere> Сайт должен генерировать url с mysite.com/yourtexthere (где yourtext здесь является slug модели) и я могу сделать это, но проблема возникает, когда я ставлю что-то вроде этого mysite. com/yourtexthere/moretext, Django не сопоставляет его ни с одним из существующих шаблонов URL и выдает мне 404.
Я хотел спросить, есть ли способ, с помощью которого я могу рассматривать '/' как просто другой символ и генерировать уникальный url mymysite.com/yourtexthere/moretext, где yourtexthere/moretext теперь является slug.
views.py
def textview(request, slug):
obj, created= Text.objects.get_or_create(slug=slug, defaults={'text':'', 'password':'123'})
return render(request, 'text/textpage.html', {'obj' : obj, 'created' : created})
urls.py
# Only patterns
urlpatterns = [
path('', home, name='home'),
path('<slug:slug>/', textview, name='textview'),
]
Из Django models docs:
Слизняк - это короткое обозначение чего-либо, содержащее только буквы, цифры, подчеркивание или дефис.
Так что 404 на самом деле правильный, возможно, используйте другое поле.