【问题标题】:Django URL Pattern not triggered未触发 Django URL 模式
【发布时间】:2016-08-10 06:58:49
【问题描述】:

我正在尝试使用以下方法实现个人资料的批准和拒绝功能:

/user/area/decline/234322 
/user/area/approve/234322 

所以我写了下面的 URL 模式:

urlpatterns = i18n_patterns(
    url(r'^user/area/decline/(?P<userid>\[0-9]+)/$', views.DeclineUser),
    url(r'^user/area/approve/(?P<userid>\[0-9]+)/$', views.ApproveUser),
    url(r'^user/area/$', views.Index),
    .
    .)

还有我的看法:

@login_required
def DeclineUser(request, userid=""):
    print("Here: " + userid)

@login_required
def ApproveUser(request, userid=""):
    print("Here: " + userid)

但是出了点问题,没有触发方法,而是触发了索引,所以我猜问题是 URL RegEx 与我需要的不匹配。

【问题讨论】:

  • 有什么错误吗? 会发生什么
  • 正如我所说,该方法没有被触发,而是触发了更接近的匹配,而是user/area

标签: django django-1.9


【解决方案1】:

你的两个网址都有一个\,所以你正在转义开头的[括号,你只需要删除那些斜杠。

url(r'^user/area/decline/(?P<userid>[0-9]+)/$', views.DeclineUser),
url(r'^user/area/approve/(?P<userid>[0-9]+)/$', views.ApproveUser),

【讨论】:

  • 正确,但这并没有解决问题。而是触发 /user/area。
  • 现在我收到以下错误:DeclineUser got an unexpected keyword argument 'userid'
  • @John - 这是与您的视图有关的不同问题,您显示的视图具有不同的名称
猜你喜欢
  • 2010-12-01
  • 1970-01-01
  • 2019-08-21
  • 1970-01-01
  • 2016-08-14
  • 2020-06-30
  • 2013-03-16
  • 1970-01-01
  • 2020-09-19
相关资源
最近更新 更多