Django: 路由与视图 互动版

在线工具推荐: Three.js AI纹理开发包 - YOLO合成数据生成器 - GLTF/GLB在线编辑 - 3D模型格式在线转换 - 可编程3D场景编辑器

命名路由项

在Django中,如果希望使用路由表反向生成URL,分两个步骤:

1.为路由项指定名称

在调用url()函数创建路由项时,可以使用name参数为路由项指定名称。 被指定名称的路由项,称为命名路由项

例如,下面的示例中,收/发件箱对应的两条路由分别被命名为r_inboxr_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. 在报表子系统,点击链接"收件箱",还会出错吗?为什么?