当前位置: 首页 > news >正文

【Django】视图函数

【Django】视图函数

视图函数的本质是Python中的函数,视图函数负责处理用户的请求并返回响应,该响应可以是网页的HTML内容、重定向、404错误、XML文档、图像或者任何东西,一般在应用中的views.py编写,示例代码如下:

from django.http import HttpResponse
python
def simpleView(request):return HttpResponse('Hello World!')

这里我们创建了名为simpleView的视图函数,该函数通过HttpResponse返回字符串。

注意:每个视图函数需要有个参数,该参数名通常是request。

编写视图函数后,可以在Django文件夹中的urls.py文件使用,也就是在URL路由文件使用,示例代码如下:

from django.contrib import admin
from django.urls import path
from Product.views import *urlpatterns = [path('admin/', admin.site.urls),path('Simple/',simpleView)   # 路由Simple调用视图函数simpleView
]

在终端执行如下代码启动Django项目,

python manage.py runserver

点击http://127.0.0.1:8000/,如下图所示:

图片

因为在urls.py文件中的urlpatterns有两个url路径,所以Django不知道返回哪个url的响应,导致了报错,这时我们只要访问http://127.0.0.1:8000/Simple/即可返回simpleView视图函数的响应。

当我们想要返回HTML模板文件,需要使用render对象返回响应,示例代码如下:

def SimpleRender(request):return render(request,'Hello World.html')

这里我们在Product文件夹创建了template文件夹并在该文件夹创建名为Hello World.html,该html文件内容如下:

<!DOCTYPE html>
<html lang="en">
<head><meta charset="UTF-8"><title>Title</title>
</head>
<body><h1>Hello World!</h1>
</body>
</html>

接下来在urls.py文件中的urlpatterns添加如下代码:

path('SimpleRender/',SimpleRender)

接下来访问http://127.0.0.1:8000/SimpleRender/即可访问到Hello World.html文件。

除了同步的视图函数,我们还可以使用异步视图函数,示例代码如下:

async def SimpleRender(request):return render(request,'Hello World.html')

没错,在同步视图函数前加async即可变为异步视图函数,其他东西没区别。

http://www.lryc.cn/news/479941.html

相关文章:

  • MySQL查询-补充
  • 【Python Tips】多个条件判断——一种更加简洁清晰的写法
  • 【Vue】简易博客项目跟做
  • 【HarmonyOS】PixelMap转化为Uri
  • 【架构论文-2】架构设计中存在的问题和改进方向
  • go语言中的结构体含义和用法详解
  • 985研一学习日记 - 2024.11.8
  • 编写一个基于React的聊天室
  • [前端]NodeJS常见面试题目
  • 【实测可用】Sublime Text4 4180 windows 已测可用
  • JAVA日期加减运算 JsonObject 转换对象List
  • 在 PostgreSQL 中,重建索引可以通过 `REINDEX` 命令来完成
  • SQL相关常见的面试题
  • Vue数据响应式原理
  • Electron + Vue3 开发桌面应用+附源码
  • Webserver(5.2)网页服务器框架
  • 股指期货交易中,如何应对震荡行情?
  • 理想汽车Android面试题及参考答案
  • 【数据集】【YOLO】【目标检测】口罩佩戴识别数据集 1971 张,YOLO佩戴口罩检测算法实战训练教程!
  • 前端将后端返回的文件下载到本地
  • GISBox VS ArcGIS:分别适用于大型和小型项目的两款GIS软件
  • 掌握分布式系统的38个核心概念
  • 如何使用 VNC 服务器连接桌面
  • 算法每日练 -- 双指针篇(持续更新中)
  • 读取excel并且显示进度条
  • MySQL多表查询习题
  • HTML静态网页成品作业(HTML+CSS)——阜阳剪纸介绍设计制作(1个页面)
  • 创新引领,模块化微电网重塑能源格局
  • LeetCode34:在排序数组中查找元素第一个和最后一个位置
  • 汽车广告常见特效处理有哪些?