本人的django的版本是2.0.6

在django项目中,在urls.py文件中,匹配路由用的path方法,之前我用的都是url方法

写了一个path方法,使用正则表达式

from django.contrib import admin
from django.urls import path
from app1 import views urlpatterns = [
# path('admin/', admin.site.urls),
path('test/', views.Test.as_view()),
path('book/', views.Book_modelserializer_cbv.as_view()),
path('book/(?P<id>\d+)/', views.Book_Detail_modelserializer_cbv.as_view()),
]

但是我通过浏览器给django发送get请求,但是总是提示我匹配不到的视图函数

我的url的路径如下

http://127.0.0.1:8080/app1/book/1/

结果如下

Page not found (404)
Request Method: GET
Request URL: http://127.0.0.1:8080/app1/book/1/
Using the URLconf defined in cbv.urls, Django tried these URL patterns, in this order:
admin/
app1/ test/
app1/ book/
app1/ book/(?P<id>\d+)/
The current path, app1/book/1/, didn't match any of these.

感觉很奇怪,为什么我明明写了带正则表达式的url匹配项,但是为什么匹配不到呢?

查看django的文档,路径如下

https://docs.djangoproject.com/en/2.0/topics/http/urls/

发现django2.0版本还有个re_path的方法,这个方法才可以使用正则表达式

使用re_path方法,就可以使用正则表达式了,枉我学了这么多年的django了,惭愧惭愧

from django.contrib import admin
from django.urls import path
from app1 import views
from django.urls import re_path
urlpatterns = [
# path('admin/', admin.site.urls),
path('test/', views.Test.as_view()),
path('book/', views.Book_modelserializer_cbv.as_view()),
re_path('book/(?P<id>\d+)/', views.Book_Detail_modelserializer_cbv.as_view()),
]

这样就可以正常匹配到我们想要的url了

Django2.0的path方法无法使用正则表达式的解决办法的更多相关文章

  1. 【转】Android中引入第三方Jar包的方法(java.lang.NoClassDefFoundError解决办法)

    原文网址:http://www.blogjava.net/anchor110/articles/355699.html 1.在工程下新建lib文件夹,将需要的第三方包拷贝进来.2.将引用的第三方包,添 ...

  2. Android5.0以下drawable tag vector错误的解决办法(转发)

    Android5.0以下drawable tag vector错误的解决办法 在Androi 5.0以下的设备可能会报这样的错误: Caused by: org.xmlpull.v1.XmlPullP ...

  3. 未能加载文件或程序集"Microsoft.Web.Infrastructure, Version=1.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad的真正解决办法

    未能加载文件或程序集"Microsoft.Web.Infrastructure, Version=1.0.0.0, Culture=neutral, PublicKeyToken=31bf3 ...

  4. C# 数据为空,不能对NULL调用此方法或属性的解决办法

    在运行C#项目时,报出了以下错误,错误原因是数据库中的值为null时,查询时会触发该错误提示 部分源代码如下: public List<Student> findData2() { ; / ...

  5. Django2.0版本 path与Django1.x版本url正则匹配问题

    Django1.x版本url正则匹配如下: Django2.0版本正则匹配则要导入re_path模块如下:

  6. spring boot @ResponseBody转换JSON 时 Date 类型处理方法,Jackson和FastJson两种方式,springboot 2.0.9配置fastjson不生效官方解决办法

    spring boot @ResponseBody转换JSON 时 Date 类型处理方法 ,这里一共有两种不同解析方式(Jackson和FastJson两种方式,springboot我用的1.x的版 ...

  7. SecureCRT 7.2.0 Mac版密码无法保存的解决办法

    参考:http://jingyan.baidu.com/article/915fc414fda5fb51394b20bd.html 我之前在网上找的解决办法都是SecureCRT 7.2.0 Mac ...

  8. Redis 3.0版本启动时出现警告的解决办法

    原文:http://m.blog.csdn.net/article/details?id=50864933 Redis 3.0.7版本启动时出现警告的解决办法 发表于2016/3/12 12:52:4 ...

  9. Python报错“UnicodeDecodeError: 'ascii' codec can't decode byte 0xe9 in position 0: ordinal not in range(128)”的解决办法

    最近在用Python处理中文字符串时,报出了如下错误: UnicodeDecodeError: 'ascii' codec can't decode byte 0xe9 in position 0: ...

随机推荐

  1. ABAP-定时-异步

    *&---------------------------------------------------------------------* *& Report ZRICO_TES ...

  2. CSS 点击事件

    :active 伪类向激活(在鼠标点击与释放之间发生的事件)的元素添加特殊的样式. 这个伪类应用于处于激活状态的元素.最常见的例子就是在 HTML 文档中点击一个超链接:在鼠标按钮按下期间,这个链接是 ...

  3. vue:绑定数据的vue页面加载会闪烁问题

    1:在挂在数据的容器加上属性 v-cloak 2:在css中添加如下代码 但有时候还是会不起作用,可能原因有两个 2.1:display属性被更高权限的display属性覆盖了,我们增加权限就好了 2 ...

  4. web前端安全的三个关键点

    一.浏览器的同源策略 同源策略:不同域的客户端脚本在未经授权的情况下不能读写对方的资源. 这里有几个关键词:域.脚本.授权.读写.资源 1.同域要求两个站点:同协议.同域名.同端口.下表展示了所列站点 ...

  5. Tomcat虚拟目录设置

    ssh $host "rm -fr /var/www/$tomcat_name/webapps/*" 远程分发war包部署tomcat项目时,需要先清除项目目录. -------- ...

  6. 在postgresqlz中查看与删除索引

    查看索引 select * from pg_indexes where tablename='tbname';      或者     select * from pg_statio_all_inde ...

  7. How to Pronounce Word vs. World

    How to Pronounce Word vs. World Share Tweet Share Tagged With: Comparison, Dark L What is the differ ...

  8. Java 指针or引用?

    由一个问题引出:Java到底是传引用还是传值? 如果是传引用,那么为何badSwap函数并没有如预想的那样交换变量? public void badSwap(int var1, int var2) { ...

  9. python桌面端开发手记(序列化、压缩包、加密、图形界面GUI)

    0x00   前段时间接到一个小项目是给某行业内部开发离线桌面端,业务流实现上总体分信息录入.加密导出.因为是win桌面端,所以老板说依托Access用VBA做,我据理力争了一下.之前就是用Acces ...

  10. python 验证码test

    灰度化 #coding:utf8 import re import urllib import urllib2 import requests from PIL import Image import ...