Django请求

本文详细介绍了Django的请求方式,包括GET和POST请求,以及请求对象的使用。接着讨论了CSRF(跨站请求伪造)及其在Django中的防护措施。然后深入探讨了Django的表单功能,包括表单类的创建、前后端验证以及自定义表单校验。最后,文章阐述了Django的会话机制,包括cookie和session的管理与操作。
摘要由CSDN通过智能技术生成
一、Django请求
  • 1、常见的请求方式

    默认页面请求都是get请求
    视图函数中request是传递到视图的请求,里面包含请求的各种参数

    常用的请求方式get和post:

    • get:默认是get请求,请求数据以明文形式放在路由上,get的格式是以?开头,键等于值的形式,以&来分割键值对,通常用于向服务器获取资源
      https://www.baidu.com/s?wd=张三&rsv_spt=1

    • post:请求数据隐藏发送,安全系数更高。通常用于向服务器提交资源

  • 2、请求对象

​ 视图函数中request是传递到视图的请求对象,包含了本次请求所有的信息

def index(request):
    return render(request, "index.html")

request对象的类型是django.http.HttpRequest,常用属性如表所示:

方法 说明
request.GET 获取get请求数据的方法
request.POST 获取post请求数据的方法
request.FILES 获取文件上传请求数据的方法
request.method 获取请求的方法
request.META 请求的详细参数
request.META.OS 请求端系统
request.META.HTTP_USER_AGENT 用户请求头,返回请求浏览器版本
request.META.HTTP_HOST 请求的主机
request.META.HTTP_REFERER 请求的来源
二、CSRF

跨站请求伪造,是一种挟制用户在当前已登录的Web应用程序上执行非本意的操作的攻击方法

在社交工程的一点帮助下(例如通过电子邮件或聊天发送链接),
攻击者可能会诱骗Web应用程序的用户执行攻击者选择的操作

三、Django表单
  • HTML表单

    属性 说明
    action 提交的地址,默认是当前路由
    method 提交的方法,默认是get
    name 用来做传参的标识
    submit 会自动提交当前表单的数据
  • 后端处理

    def register(request):
        """注册"""
        if request.method == "GET":  # GET跳转页面
            return render(request, "register.html")
        else:  # POST处理提交
            # 获取参数
            name = request.POST.get("name")
            password = request.POST.get("password")
            # 创建对象并新增
            # Seller.objects.create(
           
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值