在django中,我将url定义为
(r'^checkstring/(?P<string>\w+)/$',views.check_str,name='check str')
但是,当我输入像ibrahim.yilmaz,ibrahi!m或ibrahim@ibrahim.com这样的字符串输入时,它会返回http 404。 那么如何编写接受每一个字符串的url?
任何帮助将不胜感激。
易卜拉欣
答案 0 :(得分:15)
Django使用正则表达式来匹配传入的请求。在python中,点(。)匹配除换行符之外的任何字符。有关详细信息,请参阅docs,然后尝试:
(r'^checkstring/(?P<string>.+)/$',views.check_str,name='check str')
另请注意,这将接受任何可能不适合您的角色(包括正斜杠)。一定要进行测试,以确保一切正常。
答案 1 :(得分:1)
在Django&gt; = 2.0中,您可以按以下方式实现。
from django.urls import path
urlpatterns = [
...
path('polls/<string>/$','polls.views.detail')
...
]
答案 2 :(得分:0)
对于Django 2.0
在 urls.py 文件中导入 re_path 像这样:来自 django.urls 导入 re_path
然后在urlpatterns中编写以下代码:
urlpatterns = [ re_path (&#39;前缀/.*',your_ViewClass_name.as_view()),]