一,视图函数介绍

  一个视图函数,简称视图,是一个简单的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视图简介相关推荐

  1. Django视图、URL、模版简介

    Django视图.URL.模版简介 文章目录 Django视图.URL.模版简介 一.视图 1.简介 2.使用视图时需要进行两步操作: 3.定义视图 二.配置URLconf 1.查找视图的过程 2.U ...

  2. Django框架简介

    Django框架简介 MVC框架和MTV框架 MVC,全名是Model View Controller,是软件工程中的一种软件架构模式,把软件系统分为三个基本部分:模型(Model).视图(View) ...

  3. Django视图(三)

    Django视图(三) 文章目录 Django视图(三) 一.Cookie 1.简介 2.Cookie的特点 3.设置Cookie 4.读取Cookie 二.Session 1.启用Session 2 ...

  4. Django视图(一)

    Django视图(一) 文章目录 Django视图(一) 一.视图 1.视图简介 2.视图的功能 3.使用视图的过程 4.内置错误视图 二.URLconf 1.配置 2.语法 3.获取值 三.Http ...

  5. Django 中间件简介

    文章目录 1. Django 中间件简介 2. Django 自定义中间件 process_request process_response process_view process_template ...

  6. [diango]理解django视图工作原理

    前言:正确理解django视图view,模型model,模板的概念及其之间的关联关系,才能快速学习并上手使用django制作网页 本文主要讲解自己在学习django后对视图view的理解 在进入正文之 ...

  7. Django视图(二)

    Django视图(二) 文章目录 Django视图(二) 一.HttpReqeust对象 1.QueryDict对象 2.GET属性 3.POST属性 二.HttpResponse对象 1.属性 2. ...

  8. ajax获取对象获取不了属性,Ajaxing JavaScript变量到Django视图获取:AttributeError:“WSGIRequest”对象没有属性“data”...

    我试图使用Ajax将我的JavaScript this.click变量从.js文件发送到Django视图class Click,并得到以下错误消息...在AttributeError: 'WSGIRe ...

  9. mysql 视图 教程_MySQL视图简介及基本操作教程

    前言 视图是数据库系统中一种非常有用的数据库对象.MySQL 5.0 之后的版本添加了对视图的支持. 认识视图 视图是一个虚拟表,其内容由查询定义.同真实表一样,视图包含一系列带有名称的列和行数据,但 ...

最新文章

  1. 全球半导体产业迁移 中国的机遇与挑战
  2. Windows10下git bash中添加wget下载工具
  3. 科技文明等级那一级有量子计算机,人类科技在宇宙中属于几级文明,最高级文明多强?...
  4. css的一种预处理器 sass
  5. __attribute__ 详解
  6. JTLParser-linux上jmeter的jtl文件二次分析
  7. QT-提示“database not open”
  8. freemarker数值格式化
  9. Matlab使用EMD
  10. 【实用】神级工具类Hutool,你值得拥有!
  11. 树莓派之BT下载器实现
  12. 【Windows】实现微信双开或多开
  13. python用四个圆画成花_秘籍:学画牡丹技法要领,不轻易外传...
  14. python实现货币的转换_Python实现制度转换(货币,温度,长度)
  15. 使用Mybaties xml的增删改查
  16. 新世纪10年100个好东西 淘宝、QQ、伟哥入选
  17. puzzle(0131)《迷宫》
  18. 计算几何03_三次参数样条曲线与Cardinal曲线
  19. Linux创建和删除目录
  20. 暗影格斗3一直显示服务器,暗影格斗3重置的方法操作流程

热门文章

  1. Pin code码已被重置
  2. ABAP正则表达式 vs SPLIT INTO 1
  3. python自学课堂_python怎么自学要那本书
  4. mysql保存特殊表情_让 MySQL 支持 emoji 表情等特殊字符存储
  5. UE4学习-创建基于C++的场景
  6. 直接销毁_战机报废,发动机怎么处理?美国直接销毁,中国改造成扫雪神器
  7. linux新建用户代码,Linux_用dsadd添加用户的代码,描述: 此工具命令将一些具体 - phpStudy...
  8. java httpclient post 上传文件_httpclient通过post multipart/form-data 上传文件
  9. nstimer循环引用_ios开发中经典循环引用场景?
  10. 编译原理实验语义分析_「编译原理」LL(1)文法分析,简单优先分析