Django( 学习第四部 Django的views视)
目录
视图层
JsonResponse对象
前端序列化
JSON.stringify() json.dumps()
JSON.parse() json.loads() 基础版(dic)
import jsom
def add(request):
a = {'12':'八嘎'}
b = json.dumps(a,ensure_ascii=False)
return HttpResponse(b) 进阶版(dic)
from django.http import JsonResponse def add(request):
a ={'你好':123,123:'夏一一'}
return JsonResponse(a,json_dumps_params={'ensure_ascii':False}) #原型化输出 (list) def add(request):
a = [123,'你好']
return JsonResponse(a,safe=False)
原型化输出没有解决
form 表单上传文件及后端操作
html部分
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>Title</title>
</head>
<body>
<form action="" method="post" enctype="multipart/form-data">
<p>username:<input type="text" name="username"></p>
<p>file:<input type="file" name="file"></p>
<input type='submit'>
</form>
</body>
</html>
视图函数部分
def upload(request):
if request.method =="POST":
print(request.FILES)
file_obj = request.FILES.get('file')
print(file_obj.name)
with open (file_obj.name,'wb') as f:
for i in file_obj.chunks():
f.write(i)
return render(request,"form.html")
request对象方法
''''
request.method #获取请求方式
request.POST #获取post请求
request.GET #获取get请求
request.FILES #获取文件 request.path #获用户输入的路由
request.path_info #获用户输入的路由
request.get_full-path() #获用户输入的路由,以及所携带对的参数 request.body #原生浏览器发来的二进制数据(了解)
'''
FBV与CBV
# 视图函数可以是类也可以是函数 #FBV
def index(request):
return HttpResponse('index') #CBV
from django.views import View class Mylogin(View):
def get(self,request):
return HttpResponse('get方法')
def post(self,request):
return HttpResponse('post方法') CBV 的路由匹配 path('login/',views.Mylogin.as_view()) '''
FBV和CBV各有千秋
CBV的特点: 能够直接获取请求方式,并根据请求方式不同匹配到对应的方法执行 ''' CBV原码剖析
(没搞懂,后期补存 加油liuun)
Django( 学习第四部 Django的views视)的更多相关文章
- Django 学习第四天——Django 模板标签
一.模板标签: 作用:标签在渲染的过程中提供任意的逻辑:例如 if for...in... 等 标签语法:由 {% %} 来定义的:例如:{% tag %}xxx{% endtag %} 常用标签: ...
- django学习~第四篇
django表单 1 今天继续来学学django的表单 首先介绍下http的方法,这是最基本的 GET 方法 GET一般用于获取/查询 资源信息,以?分割URL和传输数据 ...
- Django学习笔记之使用 Django项目开发框架
Django 项目是一个定制框架,它源自一个在线新闻 Web 站点,于 2005 年以开源的形式被释放出来.Django 框架的核心组件有: 用于创建模型的对象关系映射 为最终用户设计的完美管理界面 ...
- [python][django学习篇][3]创建django web的数据库模型
推荐学习博客:http://pythonzh.cn/post/8/ 博客或者web界面向用户展示内容,它需要从某个地方获取博客内容或者web界面内容,才能够展示出来.通常来说:某个地方指的就是数据库 ...
- Django学习系列8:django测试客户端
"""向浏览器返回真正的HTML响应,添加一个新的测试方法""" from django.test import TestCase from ...
- Django学习系列2:django环境中安装selenium并查看selenium版本号
在Django环境中安装selenium (django) root@ranxf-TEST:/studydisk/Python_web_TDD/superlists# conda install se ...
- Django学习(四)---Admin配置
1)Admin: admin是django自带的功能强大的自动化数据管理界面 被授权的用户可以直接在Admin中管理数据库(增.删.改.查) Django提供了许多针对Admin的定制功能 2)配置A ...
- drf ( 学习第四部 )
目录 DRF框架中常用的组件 分页Pagination 异常处理Exceptions 自动生成接口文档 安装依赖 设置接口文档访问路径 访问接口文档网页 Admin 列表页配置 详情页配置 Xadmi ...
- Django学习之二:Django 项目创建 和 应用创建
Django 项目创建 和 应用创建 创建一个Django项目 都是在相应平台的命令行环境下操作: 1. 进入用于存放项目的目录下 1.1 windows下切换目录:先进入具体的分区磁盘中如E盘就输入 ...
随机推荐
- Python+Appium运行简单的demo,你需要理解Appium运行原理!
坚持原创输出,点击蓝字关注我吧 作者:清菡 博客:oschina.云+社区.知乎等各大平台都有. 目录 一.Appium 的理念 四个原则 1.Web-Selenium 的运行原理 2.Appium ...
- 基于python的extract_msg模块提取outlook邮箱保存的msg文件中的附件
笔者保存了一些outlook邮箱中保存的一些msg格式的邮件文件,现需要将其中的附件提取出来, 当然直接在outlook中就可以另存附件,但outlook默认是不支持批量提取邮件中的附件的 思考过几种 ...
- Java多线程--CAS
在Java多线程并发的情况下同时对一个变量进行操作会出现线程安全的问题,假如我们现在使用20个线程对一个变量不停累加1,代码如下: 1 public class ThreadDemo implemen ...
- PYG2010-02-精装友情通讯录再分析
- JavaScript,你好!
初识JavaScript 概述 JavaScript是一门世界上最流行的脚本语言 ECMAScript它可以理解为是javaScript的一个标准 而且现在最新的版本已经到es6版本 但是大部分浏览器 ...
- springboot实现防重复提交和防重复点击
背景 同一条数据被用户点击了多次,导致数据冗余,需要防止弱网络等环境下的重复点击 目标 通过在指定的接口处添加注解,实现根据指定的接口参数来防重复点击 说明 这里的重复点击是指在指定的时间段内多次点击 ...
- spark源码分析, 任务提交及序列化
简易基本流程图如下 1. org.apache.spark.scheduler.DAGScheduler#submitMissingTasks 2. => org.apache.spark.sc ...
- 一些JAVA题目
进程间通信方式有哪些 1)管道 管道分为有名管道和无名管道 无名管道是一种半双工的通信方式,数据只能单向流动,而且只能在具有亲缘关系的进程间使用.进程的亲缘关系一般指的是父子关系.无明管道一般用于两个 ...
- linux中重启网卡后网络不通(NetworkManager篇)
1.问题描述 RHEL7.6系统,使用nmcli绑定双网卡后,在使用以下命令重启network服务后主机网络异常,导致无法通过ssh远程登录系统. systemctl restart network ...
- python3 连接数据库~
~目前记录的是针对python3写的数据库连接,不适用于pyhon2.python3如果想要与数据库进行连接,则需要先下载对应各数据库的插件包,然后导入包.python3的插件下载地址:https:/ ...