我如何在 Django 1.11 中实现 url 灵活?
How can i do my url flexible in 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'),
]
当我像上面那样的时候,register/后面的部分不能以字母开头。
这是因为 \d+
模式只允许数字序列。如果你想要一个slug-like序列,你可以使用:
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><strong>[-\w]</strong>+)',views.guaform,name='custform'),
]
Note: django-1.11 is no longer supported [Django-doc] since April 2020, you should consider upgrading the Django version.
在我的 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'),
]
当我像上面那样的时候,register/后面的部分不能以字母开头。
这是因为 \d+
模式只允许数字序列。如果你想要一个slug-like序列,你可以使用:
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><strong>[-\w]</strong>+)',views.guaform,name='custform'),
]
Note: django-1.11 is no longer supported [Django-doc] since April 2020, you should consider upgrading the Django version.