在python3中使用django2的时候,在设置urls的时候,会遇到一些坑。这里做一下记录。 1,系统的urls.py里,这里在1.X的时候,都是采用的url方式。如下
url(r'^', include("test1.urls")), 1 在2.0中,它推荐使用的是path模块,所以这里就改写一下。引包from django.urls import path
path('', include("test1.urls")), 1 这里要注意的是,如果要使用正则,则要引入re_path,from django.urls import path, re_path 这里面的正则写法,有点意思,一定要使用()把正则包起来,然后用?P正式表达式 这种形式来表式。在自己项目中的urls.py里,会有例子
2, 自己项目的urls.py里,我们也使用path 1.x里面的写法是 url(r’^page=(\d+)&key=(\w+)$’, views.detail, name=”detail”), 现在的写法
re_path('page=(?P\d+)&key=(?P\w+)', views.detail, name="detail"), 1 这样一对比就能明白了吧,我的链接是http://127.0.0.1:8000/page=12&key=abc
3,关于系统的urls.py里的namespace的问题 1.x中写法
url(r'^', include("test1.urls", namespace='test1')), 1 可是在2.0中你这么写,会报错,说什么app_name的,这个自己可以看一下,怎么解决呢,其实很简单,只要在自己项目urls.py中加上
作者:chenguang79 来源:CSDN 原文:https://blog.csdn.net/chenguang79/article/details/80733657 版权声明:本文为博主原创文章,转载请附上博文链接!
此处可能存在不合适展示的内容,页面不予展示。您可通过相关编辑功能自查并修改。
如您确认内容无涉及 不当用语 / 纯广告导流 / 暴力 / 低俗色情 / 侵权 / 盗版 / 虚假 / 无价值内容或违法国家有关法律法规的内容,可点击提交进行申诉,我们将尽快为您处理。