zoukankan      html  css  js  c++  java
  • Django整理(四)

    1. URL配置

    一、需求

        1. 需求:在浏览器访问URL地址 http://127.0.0.1:8000/users/index 时,显示hello django信息

        2. 实现

            i. 需要编写一个视图函数

            ii. 针对该视图函数配置访问路由

    二、URL配置实现

        1. 对于url访问地址 http://127.0.0.1:8000/users/index?a=1,只需要根据users/index进行url配置。

            注意:前面的笔记中为了简单,直接在项目下的urls.py文件中进行配置,如下:

        

        2. 但是为了减轻项目下的urls.py文件的配置量,方便url的管理,会分别在两个urls.py文件中进行配置:

            · 项目下的urls.py文件

          

            · users应用下的urls.py文件(此文件默认不存在,需要自己创建)

          

            URL配置示例参考:

           

    2. URL匹配流程

    URL匹配流程(路由解析顺序)

        

    URL匹配流程说明

        1. 域名、端口、端口后的 "/",以及查询字符串(问号后面的键值参数)不参与匹配

        2. 先到项目下的urls.py进行匹配,再到应用的urls.py匹配

        3. 根据url配置的先后顺序,从上到下进行URL匹配    -----> 这里有个坑,如果上面的url配置覆盖掉了下面的url,容易

            出现url匹配错误的情况

        4. 在项目下匹配成功的URL部分会去掉,剩下的部分继续到应用下作匹配

        5. 如果匹配成功,Django会调用对应的视图函数,返回响应内容给浏览器显示

        6. 如果最终匹配不成功,Django会给浏览器返回 404 错误

    3. 捕获URL路径中的参数

    一、需求

        1. 在服务器端视图中,获取通过URL路径传递过来的参数

        2. 例如:对于请求URL  http://127.0.0.1:8000/news/1/2,需要获取URL路径中的数值1(类别id)和2(页码)

    二、解决

        1. 在配置URL时,可以使用正则表达式匹配URL中的参数

        2. 需要使用 "小括号" 把要匹配的值变为正则的一个组,可以对组命名,也可以不命名

        3. 当匹配成功后,Django会自动匹配成功的值,作为一个方法参数传递到视图函数中

    三、代码参考

        1. 未命名参数(位置参数):按定义的顺序传递

        

        2. 命名参数(关键字参数):按定义的组名传递

        

  • 相关阅读:
    Entity Framework 简介
    MongoDB 简述及安装
    js、sql和python版本的乘法口诀对比
    sql 判断输入的日期是否有重叠
    win10 不能调节屏幕亮度 win10 屏幕亮度调节快捷键不能用
    mysql主从配置常见错误处理
    Linux安装mysql总结
    linux安装mongodb总结
    centos安装redis总结
    ERROR 2002 (HY000): Can't connect to local MySQL server through socket '/var/lib/mysql/mysql.sock' (2)
  • 原文地址:https://www.cnblogs.com/ljfight/p/11974061.html
Copyright © 2011-2022 走看看