Django视图Views

Views视图

HttpRequest 和HttpResponse
Django中的视图主要用来接受web请求,并做出响应。视图的本质就是一个Python中的函数视图的响应分为两大类
        1)以Json数据形式返回(JsonResponse)
        2)以网页的形式返回        

                2.1)重定向到另一个网页 (HttpResponseRedirect)

                2.2)错误视图(4xx,5xX)(HttpResponseNotFound,HttpResponseForbidden,HttpResponseNotAllowed等)
视图响应过程:
        浏览器输入->ur1s路由匹配->视图响应 ->回馈到浏览器视图参数:
                1)-个HttpRequest的实例,一般命名为reguest
                2)通过url正则表达式传递过来的参数
位置:
        通常在应用下的views.py中定义
        错误视图:

        1)404视图(页面没找到)
        2)400视图(客户操作错误)
        3)500视图(服务器内部错误)

用vscode创建一个新的项目

首先进入项目文件夹我会先创建一个虚拟环境

python3 -m venv myvenv  

进入虚拟环境

source myvenv/bin/activate

在虚拟环境中安装Django

pip3 install django==4.2

创建Django项目

django-admin startproject project2

尝试启动一下

python3 project2/manage.py runserver

创建一个新的App

django-admin startapp App

记得在setting.py里注册一下App 

并增加一个templates模版文件夹并配置 

HttpRequest

        服务器在接收到Http请求后,会根据报文创建HttpRequest对象
        视图中的第一个参数就是HttpRequest对象
        Django框架接收到http请求之后会将http请求包装为HttpRequest对象,之后传递给视图。
request常用属性和方法:
                属性:
                        path 请求的完整路径
                        method 请求的方法,常用GET,POST
                        GET 类似字典的参数,包含了get的所有参数
                        POST 类似字典的参数,包含了post所有参数
                        FILES  类似字典的参数,包含了上传的文件
                        COOKIES 字典,包含了所有COOKIE
                        session类似字典,表示会话
                        META[' REMOTE_ADDR' ]

                方法:is_ajax() 判断是否是ajax(),通常用在移动端和JS中
                        get_full_path() 返回包含参数字符串的请求路径.
QueryDict: 类字典的对象
        类似字典的数据结构。与字典的区别:可以存在相同的键。
        QueryDict中数据获取方式
                dict['uname ’] 或 dict.get ('uname)
                获取指定key对应的所有值

 大家可以挨个打印测试一下 看一下获取到的一些参数

  HttpResponse


服务器返回给客户端的数据
HttpResponse由程序员自己创建:
        1)不使用模板,直接调用HttpResponse(),返回HttpResponse对象。
        2)调用模板,进行渲染。
                使用render
                        render(request, template_name[, context])
                        request 请求体对象
                        template name  模板路径
                        context 字典参数,用来填坑
        属性:content 返回的内容
                  charset 编码格式
                  status code 响应状态码(2xx,3xx,4xx, 5xx)
        方法:

               write(xxx)直接写出文本
                flush()冲刷缓冲区
                set_cookie(key, value= xxx',max_age=None) 设置cookie
                delete_cookie(key)删除cookie

 以上是一些请求和响应的一些基础学习

  • 12
    点赞
  • 23
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值