IT数码 购物 网址 头条 软件 日历 阅读 图书馆
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
图片批量下载器
↓批量下载图片,美女图库↓
图片自动播放器
↓图片自动播放器↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁
 
   -> Python知识库 -> Django中的views -> 正文阅读

[Python知识库]Django中的views

视图函数
a.视图函数的第一参数是HttpRequest对象
b.HttpRequest对象包含了请求的所有数据(请求头、请求体)
c.视图函数必须得返回一个HttpResponse对象或者其子类对象
:param request:
:return:

def projects(request):
    """
    视图函数
    a.视图函数的第一参数是HttpRequest对象
    b.HttpRequest对象包含了请求的所有数据(请求头、请求体)
    c.视图函数必须得返回一个HttpResponse对象或者其子类对象
    :param request:
    :return:
    """
    # print(request)
    # print(type(request))
    # print(type(request).__mro__)
    if request.method == 'GET':
        #
        #
        #
        return HttpResponse("<h1>获取项目信息</h1>")
    elif request.method == 'POST':
        return HttpResponse("<h1>创建项目信息</h1>")
    elif request.method == 'PUT':
        return HttpResponse("<h1>更新项目信息</h1>")
    elif request.method == 'DELETE':
        return HttpResponse("<h1>删除项目信息</h1>")
    else:
        return HttpResponse("<h1>其他操作</h1>")

定义类视图
1.继承View或者View子类
2.不通的请求方法有相应的方法进行对应
??? GET?? ->?? get
??? POST? ->?? post
??? PUT?? ->?? put
??? DELETE ->? delete
??? PATCH? -> patch
3.每一个处理请求的方法,必须得返回HttpResponse对象或者HttpResponse子类对象
4.每一个处理请求的方法,第二个参数必须为HttpRequest对象
5.HttpResponse
? a.第一个参数为字符串类型(需要返回到前端的字符串数据)
? b.content_type可以指定响应头中的Content-Type参数
? c.status可以指定响应状态码
json_str = json.dumps(project_data, ensure_ascii=False)
return HttpResponse(f"<h1>获取项目{pk}信息</h1>")
return HttpResponse(json_str, content_type='application/json', status=201)
6.JsonResponse
? a.为HttpResponse子类
? b.用于返回json数据
? c.第一个参数可以直接传递字典或者嵌套字典的列表
? d.默认添加content_type为application/json
? e.默认第一个参数只能为字典,如果为嵌套字典的列表,需要设置safe=False
return JsonResponse(project_data, json_dumps_params={'ensure_ascii': False}, status=201)
7.两种开发模式
1.前后端不分离的开发模式
? a.后端如果返回的是一个完整的html页面(页面中有填充数据)
2.前后端分离的开发模式
? a.后端如果返回的是数据(json、xml)

class ProjectsView(View):
   
    def get(self, request, pk):
        project_data = {
            'id': 1,
            'name': 'xxxx项目',
            'leader': '潘潘达'
        }

        project_data_list = [
            {
                'id': 1,
                'name': 'xxxx项目',
                'leader': '潘潘达'
            },
            {
                'id': 2,
                'name': 'yyyy项目',
                'leader': '多喝热水'
            },
            {
                'id': 3,
                'name': 'zzzz项目',
                'leader': '不语'
            }
        ]

  Python知识库 最新文章
Python中String模块
【Python】 14-CVS文件操作
python的panda库读写文件
使用Nordic的nrf52840实现蓝牙DFU过程
【Python学习记录】numpy数组用法整理
Python学习笔记
python字符串和列表
python如何从txt文件中解析出有效的数据
Python编程从入门到实践自学/3.1-3.2
python变量
上一篇文章      下一篇文章      查看所有文章
加:2022-04-04 12:06:36  更:2022-04-04 12:07:34 
 
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁

360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年11日历 -2024/11/15 20:39:31-

图片自动播放器
↓图片自动播放器↓
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
图片批量下载器
↓批量下载图片,美女图库↓
  网站联系: qq:121756557 email:121756557@qq.com  IT数码