Как экранировать '/' в урлах 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 на самом деле правильный, возможно, используйте другое поле.

Вернуться на верх