IT数码 购物 网址 头条 软件 日历 阅读 图书馆
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
图片批量下载器
↓批量下载图片,美女图库↓
图片自动播放器
↓图片自动播放器↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
开发: 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文件

1.公有配置

2.私有配置

二.URL结构

1.portocol(协议)

2.hostname(主机名)

3.port(端口号)

4.path(路由地址)

5.query(查询)

6.fragment(信息片段,锚点)

三.处理URL请求

四.视图函数

五.路由与视图配置

1.路由配置—path()函数

2.简单路由配置

3.path--转换器

4.include()函数


一.settings.py文件

这个文件包含了Django项目启动的所有配置项

? 配置项格式前面必须是大写,后面是字符串,构成一个键值对

BASE_DIR ='xxxx'

? 此文件包含公有配置和私有配置

1.公有配置

? Django官方提供的基础配置

BASE_DIR = Path(__file__).resolve().parent.parent

? 用来确定项目文件夹的绝对路径

DEBUG = True

?True:调试模式.功能:?1,提供报错页面 2,检查到代码更改,自动重启
?False:正式模式/上线模式

LLOWED_HOSTS = []

? 允许访问的Host头

ROOT_URLCONF = 'mysite1.urls'

? ?用来确定主路由文件的位置

LANGUAGE_CODE= 'zh-hans'
#LANGUAGE_CODE = 'en-us'
TIME_ZONE='Asia/Shanghai'
#TIME_ZONE = 'UTC'

? ?确定使用的语言和时区

2.私有配置

? 首先需要满足配置规范,然后配置名称尽量个性化,以防覆盖公有配置

所有配置项都可以按需带代码中引用

from django.conf import settings

二.URL结构

protocol://hostname[:port]/path[?query][#fragment]

1.portocol(协议)

  • http:通过超文本传输协议(http)访问资源
  • https:基于http通过安全ssl或tls提供加密处理
  • file:本地计算机的资源

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响应


四.视图函数

from django.http import HttpResponse                                                                                                                                                       

def index(request):
    html='<h1>这是我的首页</h1>'
    return HttpResponse(html)

? 必须引入HttpResponse模块

? 传入的参数第一个必须是request


五.路由与视图配置

1.路由配置—path()函数

? 导入:from django.urls import path

? 语法:path(route,views,name=None)

? 参数:1.route:字符串类型,匹配的请求路径

? ? ? ? ?2.views:指定路径所对应的视图处理函数的名称,注意不要加括号

? ? ? ? ?3.name:为地址起别名,在模板中地址反向解析时使用

2.简单路由配置

? urls.py代码

  from django.contrib import admin                                                                                                                                                       
  from django.urls import path
  from . import views
  
  urlpatterns = [
      path('admin/', admin.site.urls),
      path('page/1/',views.page_1,name='view_page_1'),
      
  ]

? 需要引入同目录下的views .py文件

? views.py 需要写出对应视图函数,并按需返回响应

3.path--转换器

? 语法:<转换器类型:自定义名>

? 作用:若转换器类型匹配到对应类型的数据,则将数据按照关键字传参的方式传递给对应的视图函数

? ?例子:

path (’page/<int pg>‘,views.pagen)

? ?转换器类型

转换器类型作用
str匹配除'/'以外的非空字符串
int匹配0和任何整数,返回int数据
slug匹配任意由ASCII字母或数字以
及连字符和下划线组成的短标签
path匹配非空字段,包括'/'

? ?对应views里函数代码

def pagen(request,pg):                                                                                                                                                                     
    html='<h1>这是编号为%s的网页</h1>'%(pg)
    return HttpResponse(html)

若path不能很好的表示url可以使用re_path(正则表达式)

4.include()函数

? ?在主urls.py 中需要将路由调至app中,用到include函数

? ? 比如

path('polls',include('polls.urls')),

? 此时应注意引入include模块

from django.urls import path,include

? 此时在浏览器地址栏输入-------/polls/? ? ?路由就会转至同目录下的pools里的urls.py进行路由?

?何时使用?include()

? 当包括其它 URL 模式时应该总是使用?include()?,?admin.site.urls?是唯一例外。

  Python知识库 最新文章
Python中String模块
【Python】 14-CVS文件操作
python的panda库读写文件
使用Nordic的nrf52840实现蓝牙DFU过程
【Python学习记录】numpy数组用法整理
Python学习笔记
python字符串和列表
python如何从txt文件中解析出有效的数据
Python编程从入门到实践自学/3.1-3.2
python变量
上一篇文章      下一篇文章      查看所有文章
加:2022-03-12 17:27:53  更:2022-03-12 17:29:50 
 
开发: 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-

图片自动播放器
↓图片自动播放器↓
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
图片批量下载器
↓批量下载图片,美女图库↓
  网站联系: qq:121756557 email:121756557@qq.com  IT数码