如何在urlpatterns [django]

时间:2017-12-23 12:29:47

标签: python django django-2.0

django noobie。我一直在浏览教程,但在urlpatterns他们使用url而不是路径,现在在django 2.0中引入 我想制作/ appname / anything-gibberish将用户带回到我给予的视图/ appname /

urlpatterns = [
    path('', views.index, name='index'),
    path('contact/', views.contact, name='contact'),
]

我希望127.0.0.1:8000/contact/asaskhask转到views.contact 有没有办法在不使用url和正则表达式的情况下执行此操作?

2 个答案:

答案 0 :(得分:5)

此刻我也在研究django2。你应该考虑在django docs上投入更多时间

urlpatterns = [
        path('', views.index, name='index'),
        path('contact/<str:contact_name>/', views.contact, name='contact'),
    ]

这里 str 告诉django期待一个字符串,因为我希望名字没有任何数字或特殊字符。如果数字只使用它<int:contact_number>。或者好的旧 slug

使用此link

哦,万一你错过了,不再需要匹配uid,pk或token。它全部内置于django 2.0中。 yaaay

path('<int:pk>/', views.DetailView.as_view(), name='detail'),
path('activate/<uidb64>/<token>/', UserActivate.as_view(), name='activate'),

答案 1 :(得分:-2)

我找到了解决方案。通过使用re__path代替path,您将能够使用正则表达式

urlpatterns = [
    path('', views.index, name='index'),
    re_path('contact/', views.contact, name='contact'),
]