命名路由项
在Django中,如果希望使用路由表反向生成URL,分两个步骤:
1.为路由项指定名称
在调用url()函数创建路由项时,可以使用name参数为路由项指定名称。 被指定名称的路由项,称为命名路由项。
例如,下面的示例中,收/发件箱对应的两条路由分别被命名为r_inbox和 r_outbox:
urlpatterns = [
url(r'^$',v_mail_index),
url(r'^inbox/$',v_mail_inbox,name='r_inbox'),
url(r'^outbox',v_mail_outbox,name='r_outbox'),
]
2.为命名路由项反向生成URL
调用reverse(rname)函数为参数rname指定的命名路由项反向生成URL。
from django.core.urlresolvers import reverse
print reverse('r_inbox')
print reverse('r_outbox')
修改示例代码,
1. 将根路由表urlpatterns中的第三项URL模式改为^xmail/
2. 运行代码,在首页点击链接"查看报表",进入报表子系统
3. 在报表子系统,点击链接"收件箱",还会出错吗?为什么?