Django框架入门到精通(05)Django视图 (黄菊华老师大学生毕业设计学习教程)

这篇具有很好参考价值的文章主要介绍了Django框架入门到精通(05)Django视图 (黄菊华老师大学生毕业设计学习教程)。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

博主介绍:《Vue.js入门与商城开发实战》《微信小程序商城开发》图书作者,CSDN博客专家,在线教育专家,CSDN钻石讲师;专注大学生毕业设计教育和辅导。
所有项目都配有从入门到精通的基础知识视频课程,免费
项目配有对应开发文档、开题报告、任务书、PPT、论文模版等

项目都录了发布和功能操作演示视频;项目的界面和功能都可以定制,包安装运行!!!
在文章末尾可以获取联系方式

Django视图函数

视图是 MTV 设计模式中的 V 层,它是实现业务逻辑的关键层,可以用来连接 M 层与 T 层,起着纽带般的作用,在《Django MTV和MVC的区别》中也做了相应的介绍,所以它的重要性可想而知。

视图一般都写在app的views.py中。并且视图的第一个参数永远都是request(一个HttpRequest)对象。这个对象存储了请求过来的所有信息,包括携带的参数以及一些头部信息等。在视图中,一般是完成逻辑相关的操作。比如这个请求是添加一篇博客,那么可以通过request来接收到这些数据,然后存储到数据库中,最后再把执行的结果返回给浏览器。视图函数的返回结果必须是HttpResponseBase对象或者子类的对象。示例代码如下:

from django.http import HttpResponse
def book_list(request):
    return HttpResponse("书籍列表!")

Django创建第一个应用(命令)

Django 项目就是基于 Django 框架开发的 Web 应用,它包含了一组配置和多个应用,我们把应用称之为 App,在前文中对它也做了相应的介绍,比如 auth、admin,它们都属于 APP。

一个 App 就是一个 Python 包,通常一个 App 可以包含模型、视图、模板和 URL 配置文件,可以被应用到多个 Django 项目中,因为它们的本质就是可被重用的 Python 软件包。

创建应用

Django 的设计目标是让开发者关注应用的功能逻辑的实现,所以,创建应用的过程是非常简单的,利用 manage.py 提供的 startapp 命令就可以创建一个APP,具体命令如下所示:

python manage.py startapp index

startapp 同样也属于 manage.py 的子命令,用来创建 Django 的应用。执行这个命令不会在 CMD 命令行看到任何输出,但是,可以在 manage.py 的同级目录下看到多出了一个 index 目录,我们使用 tree 命令来查看 index 的目录结构如下所示:

C:\Users\Administrator\Book\BookStore>python manage.py startapp index

C:\Users\Administrator\Book\BookStore>tree /f index

C:\USERS\ADMINISTRATOR\BOOK\BOOKSTORE\INDEX

├─ admin.py

├─ apps.py

├─ models.py

├─ tests.py

├─ views.py

├─__init__.py

└─ migrations

       ├─__init__.py

上面就是一个 index 应用的结构组成,我们对这些文件做逐一的解释:

  1. admin.py 用于将 Model 定义的数据表注册到管理后台,是 Django Admin 应用的配置文件
  2. apps.py 用于应用程序本身的属性配置文件;
  3. models.py 用于定义应用中所需要的数据表;
  4. tests.py 文件用于编写当前应用程序的单元测试
  5. views.py 用来定义视图处理函数的文件
  6. 一级目录下的 __init__.py 文件标识 index 应用是一个 Python
  7. migrations 目录用于存储数据库迁移时生成的文件,该目录下的 __init__.py 文件标识 migrations 是一个 Python 包。

这就是 index 应用涉及到的所有文件,当然在实际的开发工作中,该应用目录下的文件也不是一成不变的,开发者根据自己的需要会相应的增加文件或者子目录,比如 urls.py 文件或者存储静态文件的 static 目录等。所以大家千万不要认为 Django 框架自动生成的目录,无需我们做其他操作或者更改,这是使用 Django 的一个误区。

Django框架入门到精通(05)Django视图 (黄菊华老师大学生毕业设计学习教程),Python教程,1024程序员节,python教程,django教程

Django框架入门到精通(05)Django视图 (黄菊华老师大学生毕业设计学习教程),Python教程,1024程序员节,python教程,django教程

写视图函数views.py

在 Django 中,视图函数是一个 Python 函数或者类,开发者主要通过编写视图函数来实现业务逻辑。视图函数首先接受来自浏览器或者客户端的请求,并最终返回响应,视图函数返回的响应可以是 HTML 文件,也可以是 HTTP 协议中的 303 重定向。

Views.py
from django.shortcuts import render

from django.http import  HttpResponse

def book(request):
    return  HttpResponse("图书首页")

Django框架入门到精通(05)Django视图 (黄菊华老师大学生毕业设计学习教程),Python教程,1024程序员节,python教程,django教程

接下来编写一个简单的视图函数:

from django.http import HttpResponse
def Hello_my_django(request):
    return HttpResponse('<html><body>Hello my Django</body></html>')

下面针对以上 3 行代码做解析:

1)HttpResponse视图响应类型

从 django.http 模块中导入 HttpResponse,从它简单的名字我们可以得知,它是一种视图的响应类型。

2)视图函数参数request

我们定义了一个名为“Hello_my_django”的函数,Django 规定了,视图函数至少有一个参数,第一个参数必须是 request,request 是 HttpRequest 请求类型的对象,它携带了浏览器的请求信息,所以视图函数的第一个参数必须为 request。

3)return视图响应

视图函数要返回响应内容,这里的响应内容是我们用 HTML 标签编写的,把它作为 HttpResponse 的对象返回给浏览器。

视图函数执行过程

上面视图函数的代码虽然区区几行,但是已经充分体现了视图层的实现过程。 Django 收到请求以后,首先创建一个带有请求信息的 HttpRequset 对象,将 HttpRequest 的对象 request 作为第一个参数传递给视图函数,视图接收参数后继续向下执行,然后选择加载对应的视图,最后返回 HttpResponse 对象给浏览器。

通过本节的介绍,我们应该理解 View 视图函数的作用,以及视图函数的定义过程。

写路由urls.py

代码

from django.contrib import admin
from django.urls import path
from book import views

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

Django框架入门到精通(05)Django视图 (黄菊华老师大学生毕业设计学习教程),Python教程,1024程序员节,python教程,django教程

访问

http://127.0.0.1:8000/book/

Django框架入门到精通(05)Django视图 (黄菊华老师大学生毕业设计学习教程),Python教程,1024程序员节,python教程,django教程

更新视图,添加html代码

from django.shortcuts import render

from django.http import  HttpResponse

def book(request):
    return  HttpResponse("<font color=red>图书首页</font>")

Django框架入门到精通(05)Django视图 (黄菊华老师大学生毕业设计学习教程),Python教程,1024程序员节,python教程,django教程

注意

from django.shortcuts import render

from django.http import  HttpResponse

def book(request):
    #HttpResponse 必须的;不能直接返回 return "字符"
    return HttpResponse("图书首页")
    # return  HttpResponse("<font color=red>图书首页</font>")

Django框架入门到精通(05)Django视图 (黄菊华老师大学生毕业设计学习教程),Python教程,1024程序员节,python教程,django教程

视图函数文章来源地址https://www.toymoban.com/news/detail-719091.html

  1. 视图函数的第一个参数必须是request。这个参数绝对不能少。
  2. 视图函数的返回值必须是django.http.response.HttpResponseBase的子类的对象。

到了这里,关于Django框架入门到精通(05)Django视图 (黄菊华老师大学生毕业设计学习教程)的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • Elasticsearch从入门到精通-05ES匹配查询

    👏作者简介:大家好,我是程序员行走的鱼 📖 本篇主要介绍和大家一块学习一下ES各种场景下的匹配查询,有助于我们在项目中进行综合使用 创建索引并指定ik分词器: 添加数据: 需要搜索的document中的remark字段包含java和developer词组 上述语法中,如果将operator的值改为or。则与

    2024年03月27日
    浏览(69)
  • Django从入门到精通(一)

    目录 一、Django环境搭建与命令 1.1、安装 1.2、命令行 创建项目 编写代码 运行 app概念 1.3、Pycharm创建项目 1.4、虚拟环境 创建虚拟环境 - 命令行 介绍 操作 基本问题 Pycharm 项目+虚拟环境 django+虚拟环境【安装django最新版本】 django+虚拟环境【安装指定版本django】 1.5、关于创建

    2024年01月21日
    浏览(22)
  • Django从入门到精通(二)

    目录 三、视图 3.1、文件or文件夹 3.2、相对和绝对导入urls 3.3、视图参数requests 3.4、返回值 3.5、响应头 3.6、FBV和CBV FBV 四、静态资源 4.1、静态文件 4.2、媒体文件 五、模板 5.1、寻找html模板 5.2、模板处理的本质 5.3、常见模板语法 5.4、内置模板函数 5.5、自定义模板功能 filter

    2024年01月25日
    浏览(18)
  • Datawhale Django 后端开发入门 Task05 DefaultRouter、自定义函数

    一、DefaultRouter 是Django REST framework中提供的一个路由器类,用于自动生成URL路由。路由器是将URL与视图函数或视图集关联起来的一种机制。Django REST framework的路由器通过简单的配置可以自动生成标准的URL路由,从而减少了手动编写URL路由的工作量。 1. 使用方法 导入DefaultRout

    2024年02月12日
    浏览(34)
  • Python框架之Flask入门和视图

    需要安装 Pycharm专业版 Python后端的2个主流框架 Flask 轻量级框架 Django 重型框架 Flask是一个基于Python实现的web开发微框架 官方文档:https://flask.palletsprojects.com/ 中文文档:https://dormousehole.readthedocs.io/ Flask是一个基于MVC设计模式的Web后端框架 MVC: M: Model 数据模型 V: View 界面 C:

    2024年02月06日
    浏览(29)
  • 【100天精通python】Day50:python web编程_Django框架从安装到使用

    目录 1 安装Django Web框架 2 创建一个Django 项目 3 数据模型

    2024年02月10日
    浏览(28)
  • 界面开发框架Qt新手入门教程:Dir视图使用实例

    Qt 是目前最先进、最完整的跨平台C++开发工具。它不仅完全实现了一次编写,所有平台无差别运行,更提供了几乎所有开发过程中需要用到的工具。如今,Qt已被运用于超过70个行业、数千家企业,支持数百万设备及应用。 点击获取Qt Widget组件下载 本示例演示了树形视图的用

    2024年02月08日
    浏览(30)
  • Django项目框架搭建,快速入门Django

    Django提供了 django-admin 这个功能强大的命令行管理工具,其中最重要的就是可以利用它来完成项目的创建 startproject是 django-admin 的子命令,用于创建项目。这里,使用这个子命令创建了djangoy项目 项目的骨架如下: 启动django项目: 看到如下界面,代表一个初始的django项目创建

    2024年02月03日
    浏览(33)
  • Django新手必看:从入门到精通Web应用开发①【文末送书三本】

    🏘️🏘️个人简介:以山河作礼。 🎖️🎖️: Python领域新星创作者,CSDN实力新星认证,阿里云社区专家博主 🎁🎁:Web全栈开发专栏:《Web全栈开发》免费专栏,欢迎阅读! 🎁🎁: 文章末尾扫描二维码可以加入粉丝交流群,不定期免费送书。 Django 是使用 Python 语言开发的

    2024年02月08日
    浏览(36)
  • Django框架:入门指南与常用命令

    引言: 在当今的Web开发世界中,Django无疑是一个备受瞩目的框架。它以其强大的功能和易用性,吸引着越来越多的开发者。这篇博客将为你提供一个关于Django的概览,以及一些常用的命令,帮助你快速上手。 一、Django简介: Django是一个高级Python Web框架,它鼓励快速开发和干

    2024年02月03日
    浏览(25)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包