【问题标题】:Why is my django url regex not working为什么我的 django url 正则表达式不起作用
【发布时间】:2017-04-18 10:50:06
【问题描述】:

我希望我的网址接受 0 个或多个数字(正整数或负整数),我的意思是它应该匹配 '/','/0',...,'/9' 以及 '/-9' ,'/-88' 等

这是我正在使用的正则表达式 ^([-]?[0-9]*)/$ 。它适用于除“/”之外的所有网址,这个正则表达式有什么问题?

编辑:

这是我在项目目录中 urls.py 中的 urlpatterns:

urlpatterns = [
    url(r'^admin/', admin.site.urls),
    url(r'',include('basecalendar.urls'), name='date'),
]

这是basecalendar的urlpattern

urlpatterns=[
    url(r'^([-]?[0-9]*)/$',views.get_date),
]

【问题讨论】:

  • 发布urls.py文件的内容。可能是您为/ url 分配了另一个视图。
  • @AvinashRaj 我已经添加了必要的细节

标签: regex django


【解决方案1】:

由于您使用的是网址,因此您可能需要确保您的网址以“/”结尾。此外,这不起作用的原因是您的 url 在结尾处需要一个“/”。所以 url something/ 与您的正则表达式不匹配,而 something// 匹配。所有这些观察都是根据您的正则表达式进行的。通常要处理这种情况,您应该在之前的正则表达式之上再添加一个 url,例如:

url(r'^something/$', view),
url(r'^something/([-]?[0-9]*)/$', view),

【讨论】:

  • 从我当前的正则表达式中删除 / 与我的 urlconf 一起使用,现在 / 指向 '/0'
  • 本文没有答案
猜你喜欢
  • 2016-07-21
  • 2012-11-17
  • 1970-01-01
  • 2012-08-07
  • 1970-01-01
  • 2013-09-23
  • 2015-04-13
  • 2014-06-01
相关资源
最近更新 更多