Как я могу сделать свой url гибким в Django 1.11?

В моем проекте с django я должен сделать сайт с гибким url. Например:

"mysite.com/register/kj-1k-32-mk"

Когда кто-то пишет другие вещи после регистрации/ я хочу перенаправить их на мой сайт. Как я могу их перенаправить. Как должен выглядеть мой urls.py?

urls.py

from django.conf.urls import url
from django.contrib import admin
from olvapp import views

urlpatterns = [
    url(r'^admin/', admin.site.urls),
    url(r'^register/(?P<pk>\d+)',views.guaform,name='custform'),

] 

Когда я делаю как выше, часть после регистра/ не может начинаться с буквы.

Это связано с шаблоном \d+, который допускает только последовательность цифр. Если вам нужна последовательность, похожая на слизь, вы можете использовать:

from django.conf.urls import url
from django.contrib import admin
from olvapp import views

urlpatterns = [
    url(r'^admin/', admin.site.urls),
    url(r'^register/(?P<pk>[-\w]+)',views.guaform,name='custform'),
]

Note: is no longer supported [Django-doc] since April 2020, you should consider upgrading the Django version.

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