Django2.0的path方法无法使用正则表达式的解决办法
本人的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方法无法使用正则表达式的解决办法的更多相关文章
- 【转】Android中引入第三方Jar包的方法(java.lang.NoClassDefFoundError解决办法)
原文网址:http://www.blogjava.net/anchor110/articles/355699.html 1.在工程下新建lib文件夹,将需要的第三方包拷贝进来.2.将引用的第三方包,添 ...
- Android5.0以下drawable tag vector错误的解决办法(转发)
Android5.0以下drawable tag vector错误的解决办法 在Androi 5.0以下的设备可能会报这样的错误: Caused by: org.xmlpull.v1.XmlPullP ...
- 未能加载文件或程序集"Microsoft.Web.Infrastructure, Version=1.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad的真正解决办法
未能加载文件或程序集"Microsoft.Web.Infrastructure, Version=1.0.0.0, Culture=neutral, PublicKeyToken=31bf3 ...
- C# 数据为空,不能对NULL调用此方法或属性的解决办法
在运行C#项目时,报出了以下错误,错误原因是数据库中的值为null时,查询时会触发该错误提示 部分源代码如下: public List<Student> findData2() { ; / ...
- Django2.0版本 path与Django1.x版本url正则匹配问题
Django1.x版本url正则匹配如下: Django2.0版本正则匹配则要导入re_path模块如下:
- spring boot @ResponseBody转换JSON 时 Date 类型处理方法,Jackson和FastJson两种方式,springboot 2.0.9配置fastjson不生效官方解决办法
spring boot @ResponseBody转换JSON 时 Date 类型处理方法 ,这里一共有两种不同解析方式(Jackson和FastJson两种方式,springboot我用的1.x的版 ...
- SecureCRT 7.2.0 Mac版密码无法保存的解决办法
参考:http://jingyan.baidu.com/article/915fc414fda5fb51394b20bd.html 我之前在网上找的解决办法都是SecureCRT 7.2.0 Mac ...
- Redis 3.0版本启动时出现警告的解决办法
原文:http://m.blog.csdn.net/article/details?id=50864933 Redis 3.0.7版本启动时出现警告的解决办法 发表于2016/3/12 12:52:4 ...
- 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: ...
随机推荐
- svn从本地更新了资源库的资源后删除了某个文件夹无法恢复(已解决)
事件描述: 删除了本地svn的某个文件夹中的某个文件后,想要恢复,但是无法恢复,解决方法如下 步骤: 1:在删除的文件夹下右键,选择TortoiseSVN——>Revert... 2:选择需要恢 ...
- FireDac 组件说明二
FDUpdateSQL 生成添加,删除,修改SQL语句 TFDMetaInfoQuery 查询数据源信息 TFDEventAlerter 负责处理数据库事件通知 使用TFDEventAlerter类来 ...
- Structs复习 Action
引入jar包 web.xml <?xml version="1.0" encoding="UTF-8"?> <web-app version= ...
- unity 2048Game
将游戏分为四个脚本,将数据和界面分开,这是开发模式常用的类似于mvc模式,但由于我们只用一个二位数组就可以保存数据,所以讲m省略 GameControllor 控制游戏数据的脚本, using Uni ...
- SpringCloud---Feign上传下载详解
1.使用原因 公司最近做的项目在用SpringCloud,涉及到了上传.但是Feign本身是不支持文件类型的.所以这里把上传下载的实现分享一下. 2.所需配置 这是自己实现的一个formEncoder ...
- python 删除模块
import systry: import librabbitmqexcept Exception: passelse: version = getattr(librabbitmq, ...
- 获取url后面的参数的方法
1. function GetRequest() { var url = 'http://wwww.jb51.net/?q=js'; //获取url中"?"符后的字串 if (ur ...
- java+selenium自动化实践
git+java+selenium+testng +maven+idea 1.git之代码维护(下载.分支切换.上传) 下载命令 "git clone git@github.com:Luna ...
- Java的学习03
今天依然记录一下,学习情况,可以看到自己每一天都在进步. import java.text.DateFormat; import java.text.ParseException; import ja ...
- table 合并内容相同的第一列
function mergeCells() { var tbodyTlth = $("#datatable_ajax1 tbody").find("tr").l ...