美文网首页
6.正向路由

6.正向路由

作者: ddzx | 来源:发表于2019-01-10 17:40 被阅读0次

    必须学会正向路由

    1. 路由

      将url与视图进行绑定. (路由用于维护url与视图之间 关系.)

      通过正则匹配的形式对url进行匹配, 调用相应的视图 

    2. 回顾常用的正则表达式

    ^ : 以...开始

    $ : 以...结束

    单字符簇:

    .  任意字符

    \d 任意数字

    [A-Z] 任意大写字母

    [a-z] 任意小写字母

    [A-Za-z] 任意字母不区分大小写

    匹配数量

    *  任意多个

    +  一到多个

    {1,9} 1到9个

    {9} 9个

    ? 0或者1个

    [^/]+ 一到多个, 直到遇到斜线

    3. 现在通常网址传参数的方式有两种

    1. 直接通过url后面加?的形式传递参数

    2. (利于seo)  将参数与url融合到一块

    例如:

    https://item.jd.com/100001550349.html

    https://www.douban.com/note/702775743/

    3. 如何从url中获取信息

    a. 假设 现在访问 图书中谋本数的详情

    http://127.0.0.1:8009/book/9999.html

    就访问id为9999的图书的信息

    b. url绑定的时候写法

    urlpatterns = [

    url(r'^index/$',index,name="图书首页"),

    url(r'^\d+\.html$',detail,name="图书详情"),

    ]

    c. 如何获取 url中的信息

    使用 小括号 () 将需要获取的信息 括起来, 将获取到信息自动传递给 视图函数 的第二位置参数开始.

    urlpatterns = [

    url(r'^index/$',index,name="图书首页"),

    url(r'^(\d+)\.html$',detail,name="图书详情"),

    ]

    d. 也可以在url信息中传递多个参数

    使用多个小括号

    http://127.0.0.1:8009/book/list/yanqing/1/    访问言情小说, 排序为降序 

    urlpatterns = [

    url(r'^index/$',index,name="图书首页"),

    url(r'^(\d+)\.html$',detail,name="图书详情"),

    url(r'^list/([a-z]+)/(\d)/$',list_book,name="图书列表"),

    ]

    e. 以上都是以位置参数的形式传递给视图函数

        还可以 以关键字参数的形式传递给视图函数

    格式 (?P<参数名>正则表达式)

    例如:

    # 以关键字形式传递参数

    url(r'^list/(?P<type>[a-z]+)/(?P<order>\d)/$',list_book,name="图书列表")

    相关文章

      网友评论

          本文标题:6.正向路由

          本文链接:https://www.haomeiwen.com/subject/pwoarqtx.html