请求和响应
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>