04-django的请求和响应

"本文介绍了Django框架中request对象的使用,包括获取请求方式、URL参数、请求体数据以及如何构建响应。同时,给出了一个用户登录的实例,展示了GET和POST请求的处理,以及利用HttpResponse和redirect进行页面跳转和错误提示。HTML表单中注意使用{% csrf_token %}
摘要由CSDN通过智能技术生成

一.request的使用

def something(request):
    # request是一个对象,封装了用户发送过来的所有请求相关数据
    - 1. [请求]获取请求方式 GET/POST
        print(request.method)
 
    - 2. [请求]在url传递值
        print(request.GET)
 
    - 3. [请求]在请求体中提交数据
        print(request.POST)
 
    - 4. [响应]HttpResponse() 内容字符串内容返回给请求者
        return HttpResponse("返回内容")
 
    - 5. [响应]读取html的内容 + 渲染(替换)->字符串,返回给用户浏览器
        return render(request, "something.html", {"title": "来了"})
 
    - 6. [响应]让浏览器重定向到别的页面
        return redirect("https://www.baidu.com")
        关于重定向:
          - 浏览器发起请求,返回给浏览器,你自己访问去吧,然后浏览器自己访问重定向网站
 

二. 登陆案例

案例: 用户登陆
    url绑定->视图函数:创建登陆函数
              判断请求方式,get返回html页面
              post获取请求体内容,进行判断
 
    视图函数:
        def login(request):
            if request.method == "GET":
                return render(request, "login.html")
            # 如果是POST请求,获取用户提交的数据
            username = request.POST.get("user")
            password = request.POST.get("pwd")
 
            if username == "root" and password == "123":
                return redirect("https://www.baidu.com")
            return render(request, "login.html",{"error_msg":"用户名或密码错误"})
 
 
    html页面: form表单一定要写{% csrf_token %},否则认证不通过,跳转页面会失败
        <h1>用户登录</h1>
        <form method="post" action="/login/">
                {% csrf_token %}
              <input type="text" name="user" placeholder="用户名">
              <input type="password" name="pwd" placeholder="密码">
 
              <input type="submit" value="提 交">
                <span style="color:red;">{{ error_msg }}</span>
        </form>

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值