在调试Django的时候,尝试在urls.py
中的path
函数使用正则表达式来增加匹配的灵活性,但是失败了。经过Google发现下面的方法可以实现正则功能,特此记录一下。
我是T型人小付,一位坚持终身学习的互联网从业者。喜欢我的博客欢迎在csdn上关注我,如果有问题欢迎在底下的评论区交流,谢谢。
Django中使用正则表达式来匹配url
同时import path和re_path,不需要用正则的时候用path函数,需要用正则的时候用re_path函数,如下:
from App import views
from django.urls import re_path,path
urlpatterns = [
path('admin/', admin.site.urls),
re_path(r'^h.*o/', views.hello),
]
而且re_path的第一个参数不需要用re.compile()
的方式去生成正则规则,直接字符串即可。字符串前面加上r
表示原始字符串,不会对特殊字符进行转义,只要是正则表达式前面就加上一个r就对了。
这样在访问http://127.0.0.1:8000/hello/
的时候就会通过下面的正则匹配返回view中的hello函数结果。