Django URL 未触发模式

Django URL Pattern not triggered

我正在尝试使用以下方法实现配置文件的批准和拒绝功能:

/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 与我需要的不匹配。

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

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