视图层

小白必会三板斧

  1. HttpResponse
  2. render
  3. redirect

django视图函数必须要给返回一个HttpResponse对象(render和redirect内部返回的也是一个HttpResponse对象)

前后端分离

在前后端分离的情况下,为了保证数据的交互,我们选择JSON格式来传输数据。

前端一个人干(前端转成自定义对象)

JSON.stringify() ——————> json.dumps()JSON.parse()  ———————> json.loads()

后端另一个干(python后端用字典)
只要涉及到数据交互,一般情况下都是用的json格式
后端只负责产生接口,前端调用该接口能拿到一个大字典
后端只需要写一个接口文档 里面描述字典的详细信息以及参数的传递

JsonReponse

from django.http import JsonResponse
def index(request):data = {'name':'jason好帅哦 我好喜欢','password':123}l = [1,2,3,4,5,6,7,8]# res = json.dumps(data,ensure_ascii=False)# return HttpResponse(res)# return JsonResponse(data,json_dumps_params={'ensure_ascii':False})# ensure_ascii的作用是可以让中文不被转译成ascii码return JsonResponse(l,safe=False)  # 如果返回的不是字典 只需要修改safe参数为false即可

关于上传文件

form表单上传文件需要注意的事项
  1.enctype需要由默认的urlencoded变成formdata
  2.method需要由默认的get变成post
(目前还需要考虑的是 提交post请求需要将配置文件中的csrf中间件注释)

如果form表单上传文件 后端需要在request.FILES获取文件数据 而不再是POST里面

request

request.method  # 获得请求的类型request.GET  # 获得get请求的数据,一个大字典request.POST  # 获得post请求的数据,一个大字典request.FILES
# 一个类似于字典的对象,包含所有的上传文件信息。
# FILES 中的每个键为<input type="file" name="" /> 中的name,值则为对应的数据。
#注意,FILES 只有在请求的方法为POST 且提交的<form> 带enctype="multipart/form-data" 的情况下才会包含数据。否则,FILES 将为一个空的类似于字典的对象。request.path   # 只回去url后缀 不获取?后面的参数request.get_full_path()   # 后缀和参数全部获取

FBV与CBV(待续)

转载于:https://www.cnblogs.com/AbrahamChen/p/11537883.html

Django学习之视图层相关推荐

  1. Django—路由层,视图层

    路由层urls 浏览器会自动给url后加一个"/" django会自动给路由的正则表达式前面加一个"/" django会给任何不带"/"结尾 ...

  2. Django的视图层

    一.视图函数 一个视图函数,简称视图,是一个简单的python函数,它接受Web请求并且返回Web响应.响应可以是一张网页的HTML内容,一个重定向,一个404错误,一个XML文档,或者一张图片... ...

  3. Django视图层:Django便捷函数,render()函数返回HttpResponse对象,redirect()函数返回HttpResponseRedirect指向传递参数的URL

    一.视图层The view layer Django 具有 "视图" 的概念,负责处理用户的请求并返回响应. 二.render()函数 语法:render(request, tem ...

  4. Django视图层:URL的反向解析(主路由include之namespace,子路由之name,模板标签{%url%},视图reverse()函数,反向解析示例,URL命名空间

    一.视图层The view layer Django 具有 "视图" 的概念,负责处理用户的请求并返回响应. 二.URL反向解析Reverse resolution of URLs ...

  5. Django视图层:嵌套参数,URLconf在查找什么?指定视图参数的默认值、include()路由转发三种方式、传递额外选项给 include()、传递额外选项给视图

    一.视图层The view layer Django 具有 "视图" 的概念,负责处理用户的请求并返回响应. 二.嵌套参数Nested arguments 正则表达式允许嵌套参数, ...

  6. Django视图层:URL调度器、Django处理一个请求、URLconf在查找什么?URL:①path()路径、②路径转换器Path converter、③正则表达式组re_path()

    一.视图层The view layer Django 具有 "视图" 的概念,负责处理用户的请求并返回响应. 二.URL调度器URL dispatcher urlpattern:U ...

  7. Django视图层:视图函数、视图类

    一.视图层The view layer Django 具有 "视图" 的概念,负责处理用户的请求并返回响应. 二.视图函数 View functions mysite/views. ...

  8. 3 Django视图层

    视图函数 一个视图函数,简称视图,是一个简单的Python 函数,它接受Web请求并且返回Web响应.响应可以是一张网页的HTML内容,一个重定向,一个404错误,一个XML文档,或者一张图片. . ...

  9. django框架之路由层 视图层......

    Django 框架结构: urlspy:路由层 views.py:视图层 templates:模板层 models.py:模型层 路由层 数据处理结果request,是由wsgiref完成 1. 路由 ...

  10. Web框架之Django_03 路由层了解(路有层 无名分组、有名分组、反向解析、路由分发 视图层 JsonResponse,FBV、CBV、文件上传)

    阅读目录 一.路由层:(Django的路由系统) 二.伪静态网页和虚拟环境: 三.FBV与CBV.JsonResponse.文件上传 一.路由层:(Django的路由系统) URL配置(Django项 ...

最新文章

  1. 搞透Kafka的存储架构,看这篇就够了
  2. np.max()和np.argmax()
  3. 流程启动(Jbpm)
  4. 6000星人气深度学习资源!架构模型技巧全都有,图灵奖得主LeCun推荐
  5. vim查找忽略大小写
  6. 【greenplum】 gp的安装
  7. sit matlab,LabView SIT工具包的使用和安装说明
  8. 数据开放 数据集_除开放式清洗之外:叙述是开放数据门户的未来吗?
  9. SQL Server 连接查询(内连接查询)
  10. windows jdk8
  11. python3种基本数字类型_Python3基本数据类型
  12. 360se html怎么删除,如何卸载360浏览器?怎么彻底删除360浏览器?
  13. 服务器安全证书过期怎么办,安全证书过期怎么办 网站安全证书失效处理【解决方法】...
  14. 创建google账号收费_谷歌GMS认证收费标准
  15. Latex 箭头上面写字母
  16. mysql无参的存储过程_创建无参的存储过程(四十七)
  17. 持NPDP和PMP证书,可以享受深圳、北京等多项福利!
  18. python绘制拟合回归散点图_python 线性回归分析模型检验标准--拟合优度详解
  19. 鼠标计算机无法识别,如何解决usb鼠标和键盘无法识别问题
  20. 从0到1万字贴心讲解单体架构到分布式架构的演变(第一篇)

热门文章

  1. 计算机专业关于Java读书笔记_《Java8学习笔记》读书笔记(四)
  2. 聊一聊微服务之间的通讯方式
  3. R语言wmf矢量图片导出大片空白及搜索网站
  4. 李航统计学习方法总结与整理
  5. DEM: 诊断事件管理 (Diagnostic Event Manager)
  6. [下载] Windows 10 Version 1809 微软官方原版镜像
  7. 常用排序算法总结与英文翻译
  8. 前端用到的单词(读音+意思)
  9. 2008年世界各国最新GDP排名
  10. FPGA------------ SRIO通信(1)发送