天天看點

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"))
]
           

繼續閱讀