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知识库 -> 05-Django-基础篇-视图和URL -> 正文阅读

[Python知识库]05-Django-基础篇-视图和URL


前言

  • 本篇来学习Django的视图和路由

视图

  • 使用视图时需要进行两步操作

1. 定义视图

  • 视图就是一个Python函数,被定义在应用的views.py中.
  • 视图的第一个参数是HttpRequest类型的对象reqeust,包含了所有请求信息.
  • 视图必须返回HttpResponse对象,包含返回给请求者的响应信息.
  • 需要导入HttpResponse模块 :from django.http import HttpResponse
# views.py
from django.http import HttpResponse


# Create your views here.

# 定义视图
def index():
    return HttpResponse('index')

2. 配置URLconf

查找视图的过程 :

  1. 请求者在浏览器地址栏中输入URL, 请求到网站.
  2. 网站获取URL信息.
  3. 然后与编写好的URLconf逐条匹配.
  4. 如果匹配成功则调用对应的视图.
  5. 如果所有的URLconf都没有匹配成功.则返回404错误.

URL配置
1.在项目中定义URLconf

# 项目中的urls.py

from django.contrib import admin
from django.urls import path, include

urlpatterns = [
    path('admin/', admin.site.urls),
    path('', include('book.urls'))

]

2.在应用中定义URLconf

# 应用中新建urls.py
# -*- coding: utf-8 -*-
# @Time    : 2022/7/10
# @Author  : 大海

from django.conf.urls import url
from book import views
urlpatterns = [
    url(r'^$', views.index),

]

在这里插入图片描述

视图处理过程

在这里插入图片描述

URL

配置规则

配置主要有三个:path、re_path、url,接下来具体分析下这三个有什么区别。

  • path 只能绝对匹配路径地址,不支持正则匹配
  • re_path 支持正则匹配,django 1.x版本常用
  • url 支持正则匹配,实际上就是return re_path, django2.x版本推荐
# book\urls.py
from django.conf.urls import url
from django.urls import path, re_path
from book import views

urlpatterns = [
    url(r'^demo/$', views.demo),
    path("index/", views.index),
    re_path('^$', views.index),
]

动态URL

# urls.py
from django.conf.urls import url
from django.urls import path, re_path
from book import views

urlpatterns = [
    url(r'^demo/$', views.demo),
    path("index/", views.index),
    re_path('^$', views.index),
    url('^demo/page=\d+$', views.demo)  # \d+ 正则匹配,匹配任意数字
]
# views.py 
def date_time(request, year, month):
    return HttpResponse("获取当前页面home时间标签:%s年/%s月" % (year, month))


# urls.py
urlpatterns = [
    url(r'^demo/$', views.demo),
    path("index/", views.index),
    re_path('^$', views.index),
    url('^demo/page=\d+$', views.demo),  # \d+ 正则匹配,匹配任意数字
    path('archive/<year>/<month>', views.date_time),
    url(r'^archive1/(?P<year>[0-9]{4})/(?P<month>[0-9]{1,2})$', views.date_time)
]
  Python知识库 最新文章
Python中String模块
【Python】 14-CVS文件操作
python的panda库读写文件
使用Nordic的nrf52840实现蓝牙DFU过程
【Python学习记录】numpy数组用法整理
Python学习笔记
python字符串和列表
python如何从txt文件中解析出有效的数据
Python编程从入门到实践自学/3.1-3.2
python变量
上一篇文章      下一篇文章      查看所有文章
加:2022-07-17 16:19:02  更:2022-07-17 16:23:07 
 
开发: 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年12日历 -2024/12/27 3:05:46-

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