如何界定哪些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') 

也请记住,这将接受任何字符(包括斜杠),这可能是不希望给你的。一定要测试以确保一切正常,如你所料。

+0

我将检查出来欢呼 – ibrahimyilmaz

+0

它的工作原理再次感谢 – ibrahimyilmaz

在Django> = 2.0中,您可以按照以下方式实现。

from django.urls import path 

urlpatterns = [ 
    ... 
    path('polls/<string>/$','polls.views.detail') 
    ... 
] 

Django的2.0


进口re_pathurls.py文件 这样的:
django.urls 进口 re_path

然后在URL模式写入以下代码:

urlpatterns的 = [re_path( '作为前缀/.*',your_ViewClass_name.as_view()),]