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

【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.kler.cn/a/386672.html

相关文章:

  • K8S中Pod控制器之Job控制器
  • 和优秀的人一起共事,你会越来越优秀!
  • 服务器一次性部署One API + ChatGPT-Next-Web
  • [EAI-018] π0: A Vision-Language-Action Flow Model for General Robot Control
  • edge浏览器恢复旧版滚动条
  • 如何通过 Apache Airflow 将数据导入 Elasticsearch
  • albert模型实现微信公众号虚假新闻分类
  • 如何在算家云搭建CodeGeeX4(文本生成)
  • 【Python爬虫实战】深入解锁 DrissionPage:ChromiumPage 自动化网页操作指南
  • 三菱MR-J4-B伺服连接器和信号排列
  • 【Ubuntu24.04】部署服务(基础)
  • yaml文件编写
  • 2-149 基于matlab的LDPC译码性能分析
  • 使用Docker快速部署FastAPI Web应用
  • 新版IJidea 如何打开数据库窗口(2024.2.4 版)(连接数据库)
  • 智能存储解决方案:探索 TDengine 的多级存储功能
  • 革新汽车装配产线:MR30分布式IO模块引领智能制造新时代
  • 隧道工具chisel使用
  • 1.2 图像处理基本操作
  • 终端NuShell git权限异常处理
  • 探索人工智能的不同形态与未来方向:从ANI到AGI,再到ASI
  • 自然语言处理在客户服务中的应用
  • nvlink 训练笔记
  • CSS实现文字渐变效果
  • asp.net网站项目如何设置定时器,定时获取数据
  • Kubernetes的概述与架构