django路由的新特点
urls.py
from django.urls import path from notice import views urlpatterns = [ path(r'create_notice/', views.creat_notice,name='create_notice'), path(r'get_notice/', views.get_notice,name='get_notice'), path(r'change_notice/(?P<id>\d+)/', views.change_notice,name='change_notice'), #注意在新版本的django中这样写不行了 ]
当运行的时候会报错

WARNINGS: ?: (2_0.W001) Your URL pattern 'change_notice/(?P<id>\d+)/' [name='change_notice'] has a route that contains '(?P<', begins with a '^', or ends with a '$'. This was likely an oversight when migrating to django.urls.path().
因为新版本的特点这问题是Django新版本改变导致URL中不需要再使用正则表达式了,只需要路径就OK了。
urls.py
from django.urls import path from notice import views urlpatterns = [ path(r'create_notice/', views.creat_notice,name='create_notice'), path(r'get_notice/', views.get_notice,name='get_notice'), path(r'change_notice/<int:id>', views.change_notice,name='change_notice'), #这样写就可以了 ]
所以也不用在写成下边这种形式
path(r'^notice/', include('notice.urls')), 这种以^开头的url
浙公网安备 33010602011771号