主路由中 rbac用了namespace
urlpatterns = [
url(r'^admin/', admin.site.urls),
# rbac权限的路由分发
url(r'^rbac/', include(('rbac.urls','rbac'),namespace='rbac')),
#web里面的业务路由分发
url(r'^', include('web.urls')),
]
子路由中使用name,在html中使用生成反向跳转地址:namespace:name
urlpatterns = [
#显示角色列表:因为视图的html前面多加了一个rbac/,所以访问地址/rbac/role/list/
url(r'^role/list/$', role.role_list,name='role_list'),
#添加角色列表
#name用于页面上按钮的权限的控制,反向生成跳转地址
url(r'^role/add/$', role.role_add,name='role_add'),
]
<a class="btn btn-default" href="{% url 'rbac:role_add' %}">