NoReverseMatch错误

报错:使用自定义元组替代include报错

NoReverseMatch at /rbac/logout/
‘rbac’ is not a registered namespace

urls中代码

urlpatterns = [
url(r"rbac/",([
    url(r"logout/",views.logout,name="out"),
                  ],None,"rbac"))
]

app01中views视图函数代码

def logout(request):
    print(reverse("rbac:out"))
    return HttpResponse('logout')

解决办法:
我们需要指定一个app01_name,
如果是直接使用include造成这个错误,可以直接在urls代码urlpatterns上面添加一条app_name="app01"指定应用
如果是使用元组方式,(urlconf_module, app_name, namespace)三个参数,我们将第二个参数修改为相应应用名

修改后urls
urls中代码

urlpatterns = [
url(r"rbac/",([
    url(r"logout/",views.logout,name="out"),
                  ],"app01","rbac"))
]

猜你喜欢

转载自blog.csdn.net/xgy123xx/article/details/85838934
今日推荐