| |
|
开发:
C++知识库
Java知识库
JavaScript
Python
PHP知识库
人工智能
区块链
大数据
移动开发
嵌入式
开发工具
数据结构与算法
开发测试
游戏开发
网络协议
系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程 数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁 |
-> Python知识库 -> Django框架学习(2) -> 正文阅读 |
|
[Python知识库]Django框架学习(2) |
目录 一.settings.py文件这个文件包含了Django项目启动的所有配置项 ? 配置项格式前面必须是大写,后面是字符串,构成一个键值对
? 此文件包含公有配置和私有配置 1.公有配置
? 用来确定项目文件夹的绝对路径
?True:调试模式.功能:?1,提供报错页面 2,检查到代码更改,自动重启
? 允许访问的Host头
? ?用来确定主路由文件的位置
? ?确定使用的语言和时区 2.私有配置? 首先需要满足配置规范,然后配置名称尽量个性化,以防覆盖公有配置
二.URL结构
1.portocol(协议)
2.hostname(主机名)? ? 是指存放资源的域名系统主机名,域名或ip地址 3.port(端口号)? ? 可选,开放服务的端口,http默认为80 4.path(路由地址)? ? 由 ”/“隔开的字符串用来表示主机上一个目录或文件地址。路由地址决定了服务端如何处理这个请求 5.query(查询)? ? 可选,用于给动态网页传递参数,可有多个参数,用&隔开,每个是由=连接的键值对 6.fragment(信息片段,锚点)? ? ?一个字符串,用于指定网页资源的片段。例如一个网页由多个名词解释,可用其直接定位到某一名词 三.处理URL请求1.Django从配置文件中根据ROOT _URLCONF 配置参数找到主路由文件,默认在项目同名目录下的urls 2.Django 加载主路由文件的urlpatterns数组,由上至下一一进行匹配,找到一个匹配成功的结果中断匹配 3.匹配成功,调用视图函数返回响应,或调用include函数转至下级urls.py文件? ? ?匹配失败,返回404响应 四.视图函数
? 必须引入HttpResponse模块 ? 传入的参数第一个必须是request 五.路由与视图配置1.路由配置—path()函数? 导入:from django.urls import path ? 语法:path(route,views,name=None) ? 参数:1.route:字符串类型,匹配的请求路径 ? ? ? ? ?2.views:指定路径所对应的视图处理函数的名称,注意不要加括号 ? ? ? ? ?3.name:为地址起别名,在模板中地址反向解析时使用 2.简单路由配置? urls.py代码
? 需要引入同目录下的views .py文件 ? views.py 需要写出对应视图函数,并按需返回响应 3.path--转换器? 语法:<转换器类型:自定义名> ? 作用:若转换器类型匹配到对应类型的数据,则将数据按照关键字传参的方式传递给对应的视图函数 ? ?例子:
? ?转换器类型
? ?对应views里函数代码
4.include()函数? ?在主urls.py 中需要将路由调至app中,用到include函数 ? ? 比如
? 此时应注意引入include模块
? 此时在浏览器地址栏输入-------/polls/? ? ?路由就会转至同目录下的pools里的urls.py进行路由?
|
|
|
上一篇文章 下一篇文章 查看所有文章 |
|
开发:
C++知识库
Java知识库
JavaScript
Python
PHP知识库
人工智能
区块链
大数据
移动开发
嵌入式
开发工具
数据结构与算法
开发测试
游戏开发
网络协议
系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程 数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁 |
360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年11日历 | -2024/11/15 21:35:53- |
|
网站联系: qq:121756557 email:121756557@qq.com IT数码 |