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之视图 -> 正文阅读

[Python知识库]Django之视图

通过之前学习的内容先创建一个项目webtest以及book应用进行下面说明。

视图是一个简单的 Python 函数,它接受 Web 请求并且返回 Web 响应。使用视图,主要在定义视图、配置URL两方面进行操作。

1.使用视图的过程

(1)定义视图

? ? ? ? ?首先,在webtest/book/views.py文件中定义一个视图函数;

from django.shortcuts import render

# Create your views here.
def index(request):
    return render(request,"book/index.html")

? ? ? ? ?接着在templates/book文件夹中创建一个index.html页面;

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>Title</title>
</head>
<body>
    <h1>Django之视图</h1>
</body>
</html>

(2)配置URL

? ? ? ? ?接下来配置URL,在主路由进行配置进入分路由,将视图函数和url对应起来;

# webtest/urls.py
from django.conf.urls import url,include
from django.contrib import admin

urlpatterns = [
    url(r'^admin/', admin.site.urls),
    url(r'^book/', include("book.urls")),
]

? ? ? ? ?在book目录下创建urls.py文件并编写如下代码:

from django.conf.urls import url
from .views import *

urlpatterns = [
    url(r"^index",index), 
]

? ? ? ? ?效果如下:

? ? ? ? ?

?

2.获取值--URL传参

获取值需要在正则表达式中使用小括号表示,分别有以下两种方式完成,注意两种方式不能混合使用,一个正则表达式中只能使用一种参数方式;

? ?先打开book/urls.py文件添加如下代码,定义url;

    url(r"^show$",show),

? ?在book/views.py中创建视图函数show();

def show(request):
    return HttpResponse("/book/show")

(1)位置参数

? ? ? ? ?为了提取参数值,先修改上述的正则表达式;

    url(r"^show(\d+)$",show),

? ? ? ? ?并且修改视图函数show();

def show(request,id):
    return HttpResponse("show 参数值:%s"%id)

完成上述操作后,效果如下:(地址栏中的参数值可以任意选择,再次刷新页面呈现的效果不同)

? ? ??

?(2)关键字参数

? ? ? ? ? 这里的正则表达式部分修改为组命名;

    url(r"^show(?P<bid>\d+)$",show),

? ? ? ? ? 修改视图show()函数,注意必须要有参数名为bid;

def show(request,bid):
    return HttpResponse("显示关键字参数值:%s"%bid)

? ? ? ? ? 效果如下:

? ? ? ? ?

3.错误视图

下面编写两个错误视图,404视图、500视图进行说明,来掌握这一知识点。

(1)404错误

? ? ? ? ? 首先,我们需要将settings.py文件中的DEBUG变量进行修改,将True改成False,这里还需? ? ? ? ? ? 要对ALLOWED_HOSTS进行修改,允许所有错误URL能报错404;

DEBUG = False

ALLOWED_HOSTS = ['*']

? ? ? ? ? 到这里,我们所要的效果便出来了,若是输入错误URL会直接显示Django提供的默认404页? ? ? ? ? ? 面,我们也可以自己创建一个404页面,但是文件命名必须是404.html;

? ? ? ? ? 在templates文件下创建404.html;

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>404错误页面</title>
</head>
<body>
    <h1>404 错误页面显示</h1>
    <p>错误地址:{{request_path}}</p>
</body>
</html>

? ? ? ? ? 效果如下:

? ? ? ? ? ?

(2)500错误

? ? ? ? ?500错误页面也是Django框架有默认提供的页面,这里也可以自己编写,如404错误所示;

# 500错误页面
<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>500错误页面</title>
</head>
<body>
    <h1>服务器端错误:500</h1>
</body>
</html>
  Python知识库 最新文章
Python中String模块
【Python】 14-CVS文件操作
python的panda库读写文件
使用Nordic的nrf52840实现蓝牙DFU过程
【Python学习记录】numpy数组用法整理
Python学习笔记
python字符串和列表
python如何从txt文件中解析出有效的数据
Python编程从入门到实践自学/3.1-3.2
python变量
上一篇文章      下一篇文章      查看所有文章
加:2021-12-16 17:37:39  更:2021-12-16 17:40:15 
 
开发: 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/16 5:34:40-

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