我在Django中创建了下面的url。我的目标是匹配并捕获任意长度的整数作为bd。
urlpatterns = [
url(r'^load/(?P<bd>[0-9]+)/$', views.home, name='home_with_load')
]这个urls.py由主urls.py包含,其名称空间如下所示:
url(r'^mission-control/', include('mission_control.urls', namespace='mission-control'))当我转到http://localhost/mission-control/load/5 (一个个位数整数)时,我被带到了预期的视图。然而,当我转到url http://localhost/mission-control/load/54 (一个两位整数)时,我会被带到django错误调试页面,这表明我无法匹配这个模式:
^mission-control/ ^load/(?P<bd>[0-9])/$ [name='home_with_load']注意,应该跟随+的[0-9]已经消失了。这就解释了为什么我的两位数整数不能匹配。
为什么+消失了?我的正则表达式中是否存在一些错误,使+变得毫无意义,以便在regex编译期间将其删除?
调试注意事项:
\d+时得到了相同的结果。它变成了\d。bd的名称),并确认它们生效并显示在错误调试页面上。发布于 2017-05-05 17:20:48
任务控制中心urls.py把这个放在最上面。
# -*- coding: utf-7 -*-把它变成
# -*- coding: utf-8 -*-修复了问题,我的+开始出现。
不知道我从什么引导程序/炊具/模板/示例中得到了utf-7。我的错,伙计们。
https://stackoverflow.com/questions/43807274
复制相似问题