在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,我定義的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