如何界定哪些URL字符串接受的everykind在Django
问题描述:
在Django,我定义的URL像如何界定哪些URL字符串接受的everykind在Django
(r'^checkstring/(?P<string>\w+)/$',views.check_str,name='check str')
但是,当我输入字符串输入,比如ibrahim.yilmaz,ibrahi!M或[email protected] ,它返回http 404. 那么我怎么能写的接受每个字符串的网址?
任何帮助将不胜感激。
İbrahim
答
Django使用正则表达式来匹配传入的请求。在Python中,点(。)匹配除换行符之外的任何字符。见docs获取更多信息,并尝试:
(r'^checkstring/(?P<string>.+)/$',views.check_str,name='check str')
也请记住,这将接受任何字符(包括斜杠),这可能是不希望给你的。一定要测试以确保一切正常,如你所料。
答
在Django> = 2.0中,您可以按照以下方式实现。
from django.urls import path
urlpatterns = [
...
path('polls/<string>/$','polls.views.detail')
...
]
答
Django的2.0
进口re_path在urls.py文件 这样的:
从 django.urls 进口 re_path
然后在URL模式写入以下代码:
urlpatterns的 = [re_path( '作为前缀/.*',your_ViewClass_name.as_view()),]
我将检查出来欢呼 – ibrahimyilmaz
它的工作原理再次感谢 – ibrahimyilmaz