Django视图简介
一,视图函数介绍
一个视图函数,简称视图,是一个简单的Python 函数,它接受Web请求并且返回Web响应。响应可以是一张网页的HTML内容,一个重定向,一个404错误,一个XML文档,或者一张图片. . . 是任何东西都可以。无论视图本身包含什么逻辑,都要返回响应。代码写在哪里也无所谓,只要它在你的Python目录下面。除此之外没有更多的要求了——可以说“没有什么神奇的地方”。为了将代码放在某处,约定是将视图放置在项目或应用程序目录中的名为views.py的文件中。
二,三种响应形式
1:HttpResponse()
2:render()
render(request, template_name[, context])
结合一个给定的模板和一个给定的上下文字典,并返回一个渲染后的Httpresponse对象
参数:
request:用于生成响应的请求对象
template_name:要使用的模板完整名称,可选得到参数
context:添加到模板上下文的一个字典。如果字典中的某一个值是可调用的,视图将在渲染模板之前调用它。
# render内部原理 from django.template import Template,Context def test(request):tmp = Template("<h1>{{ user }}</h1>")con = Context({'user':'jason'})res = tmp.render(con)print(res)return HttpResponse(res)
3:redirect(传递要重定向的一个URL)
三,JsonResponse
向前端返回一个json格式字符串的两种方式
方式一:
import json data={'name':'lqz','age':18} data1=['lqz','egon'] return HttpResponse(json.dumps(data1))
方式二:
from django.http import JsonResponse data = {'name': 'lqz', 'age': 18} data1 = ['lqz', 'egon'] return JsonResponse(data) return JsonResponse(data1,safe=False)
四,CBV和FBV
class base view 和 Function base view
from django.views import View class AddPublish(View):def dispatch(self, request, *args, **kwargs):print(request)print(args)print(kwargs)# 可以写类似装饰器的东西,在前后加代码obj=super().dispatch(request, *args, **kwargs)return objdef get(self,request):return render(request,'index.html')def post(self,request):requestreturn HttpResponse('post')
五,简单文件上传
form表单上传文件的注意事项,encytpe编码指定为formdata
def uploadfile(request):if request.method == 'POST':# print(request.FILES)# print(request.FILES.get('myfile'))file_obj = request.FILES.get('myfile')with open(file_obj.name,'wb') as f:for line in file_obj.chunks():# 或者直接对文件对象for循环for line in file_obj f.write(line)return HttpResponse("OK!")return render(request,'index.html')
转载于:https://www.cnblogs.com/ay742936292/p/10999645.html
Django视图简介相关推荐
- Django视图、URL、模版简介
Django视图.URL.模版简介 文章目录 Django视图.URL.模版简介 一.视图 1.简介 2.使用视图时需要进行两步操作: 3.定义视图 二.配置URLconf 1.查找视图的过程 2.U ...
- Django框架简介
Django框架简介 MVC框架和MTV框架 MVC,全名是Model View Controller,是软件工程中的一种软件架构模式,把软件系统分为三个基本部分:模型(Model).视图(View) ...
- Django视图(三)
Django视图(三) 文章目录 Django视图(三) 一.Cookie 1.简介 2.Cookie的特点 3.设置Cookie 4.读取Cookie 二.Session 1.启用Session 2 ...
- Django视图(一)
Django视图(一) 文章目录 Django视图(一) 一.视图 1.视图简介 2.视图的功能 3.使用视图的过程 4.内置错误视图 二.URLconf 1.配置 2.语法 3.获取值 三.Http ...
- Django 中间件简介
文章目录 1. Django 中间件简介 2. Django 自定义中间件 process_request process_response process_view process_template ...
- [diango]理解django视图工作原理
前言:正确理解django视图view,模型model,模板的概念及其之间的关联关系,才能快速学习并上手使用django制作网页 本文主要讲解自己在学习django后对视图view的理解 在进入正文之 ...
- Django视图(二)
Django视图(二) 文章目录 Django视图(二) 一.HttpReqeust对象 1.QueryDict对象 2.GET属性 3.POST属性 二.HttpResponse对象 1.属性 2. ...
- ajax获取对象获取不了属性,Ajaxing JavaScript变量到Django视图获取:AttributeError:“WSGIRequest”对象没有属性“data”...
我试图使用Ajax将我的JavaScript this.click变量从.js文件发送到Django视图class Click,并得到以下错误消息...在AttributeError: 'WSGIRe ...
- mysql 视图 教程_MySQL视图简介及基本操作教程
前言 视图是数据库系统中一种非常有用的数据库对象.MySQL 5.0 之后的版本添加了对视图的支持. 认识视图 视图是一个虚拟表,其内容由查询定义.同真实表一样,视图包含一系列带有名称的列和行数据,但 ...
最新文章
- 全球半导体产业迁移 中国的机遇与挑战
- Windows10下git bash中添加wget下载工具
- 科技文明等级那一级有量子计算机,人类科技在宇宙中属于几级文明,最高级文明多强?...
- css的一种预处理器 sass
- __attribute__ 详解
- JTLParser-linux上jmeter的jtl文件二次分析
- QT-提示“database not open”
- freemarker数值格式化
- Matlab使用EMD
- 【实用】神级工具类Hutool,你值得拥有!
- 树莓派之BT下载器实现
- 【Windows】实现微信双开或多开
- python用四个圆画成花_秘籍:学画牡丹技法要领,不轻易外传...
- python实现货币的转换_Python实现制度转换(货币,温度,长度)
- 使用Mybaties xml的增删改查
- 新世纪10年100个好东西 淘宝、QQ、伟哥入选
- puzzle(0131)《迷宫》
- 计算几何03_三次参数样条曲线与Cardinal曲线
- Linux创建和删除目录
- 暗影格斗3一直显示服务器,暗影格斗3重置的方法操作流程
热门文章
- Pin code码已被重置
- ABAP正则表达式 vs SPLIT INTO 1
- python自学课堂_python怎么自学要那本书
- mysql保存特殊表情_让 MySQL 支持 emoji 表情等特殊字符存储
- UE4学习-创建基于C++的场景
- 直接销毁_战机报废,发动机怎么处理?美国直接销毁,中国改造成扫雪神器
- linux新建用户代码,Linux_用dsadd添加用户的代码,描述: 此工具命令将一些具体 - phpStudy...
- java httpclient post 上传文件_httpclient通过post multipart/form-data 上传文件
- nstimer循环引用_ios开发中经典循环引用场景?
- 编译原理实验语义分析_「编译原理」LL(1)文法分析,简单优先分析