如何在urlpatterns [django]中切换到路径而不是url

问题描述 投票:-2回答:2

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和正则表达式的情况下执行此操作?

python django django-2.0
2个回答
5
投票

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

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

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

使用这个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'),

-2
投票

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

urlpatterns = [
    path('', views.index, name='index'),
    re_path('contact/', views.contact, name='contact'),
]
© www.soinside.com 2019 - 2024. All rights reserved.