Django之序列化类的使用、form表单上传文件、其它request方法、CBV的写法

【1】序列化类的使用

【1.1】Django项目中如何使用序列化
python 复制代码
# 第一步:导入方法

from django.http import JsonResponse

# 第二步,使用

# 2.1 定义一个需要序列化的数据

  def index(request):
    user_dict = {'username':'jack','age':18}

    # 序列化

    return JsonResponse(user_dict)
 
'''
注意事项:
    在序列化一个不是字典的数据时,在序列化的时候需要给JsonResponse中的safe这个参数的值改为False

'''

def index(request):
    user_list = [1,2,3,4,5]

    # 序列化

    return JsonResponse(user_list,safe=False)

【2】form表单上传文件

【2.1】form表单上传文件需要满足的条件
  • 请求方式必须是post(method=' post ')
  • 编码类型必须是multipart/form-data(enctype="multipart/form-data")
  • 【2.2】后端接收文件使用的方法
    • request.FILES
      • 接收文件数据
    • request.FILES.get('file')
      • 获取文件对象

【3】其它request方法

  • request.FILES
    • 接收form表单传过来的文件数据
  • reqeust.FILES.get('')
    • 获取文件对象
  • reqeust.path
    • 获取网址栏上的地址,不能获得参数
  • request.path_info
    • 获取网址栏上的地址,不能获得参数
  • reqeust.get_full_path()
    • 不仅能获取网址栏上的地址,还能获取网址栏上的参数

【4】CBV的写法

FBV:function based view ---------- 写的都是函数

CBV:class based view ------------ 写的都是类

python 复制代码
views.py文件:

from django.view import View


class MyLogin(View):
    def get(self,request):
        return HttpResponse("get")

    def post(self, request):
        return HttpResponse("hello postman")




urls.py文件:
    
    url(r'^login/',view.MyLogin.as_view())

CBV中类中的函数名只能写以下列表中的,其余的不能写。

http_method_names = ['get', 'post', 'put', 'patch', 'delete', 'head', 'options', 'trace']

相关推荐
candyTong3 小时前
Claude Code Agent Teams:多 Agent 协作的生命周期与实现机制
后端·架构
曦月逸霜3 小时前
啥是RAG 它能干什么?
人工智能·python·机器学习
2301_769340674 小时前
如何在 Vuetify 中可靠捕获 Chip 关闭事件(包括键盘触发).txt
jvm·数据库·python
南 阳5 小时前
Python从入门到精通day66
开发语言·python
m0_596749095 小时前
JavaScript中手动实现一个new操作符的底层逻辑
jvm·数据库·python
DTAS尺寸公差分析软件5 小时前
DTAS3D v13.0 三维尺寸公差分析软件可申请试用
python·尺寸公差分析·三维公差分析·公差仿真软件·尺寸链计算
DTAS尺寸公差分析软件6 小时前
DTAS 3D公差分析软件最新版本介绍
python·3d·尺寸公差分析·尺寸链计算·尺寸工程·尺寸链校核软件·公差仿真分析
PieroPc6 小时前
CAMWATCH — 局域网摄像头监控系统 Fastapi + html
前端·python·html·fastapi·监控
feasibility.6 小时前
反爬十层妖塔:现代爬虫攻防的立体战争
爬虫·python·科技·scrapy·rust·go·硬件
十八旬6 小时前
快速安装ClaudeCode完整指南
开发语言·windows·python·claude