Myluzh Blog

Django-请求参数和响应方式

发布时间: 2023-5-20 文章作者: myluzh 分类名称: Python 朗读文章


0x01 请求和响应的方式
复制代码
  1. def something(request):
  2. # 关于request:是一个对象封装了用户发送过来的所有请求数据
  3.  
  4. # 获取用户请求方式,GET/POST
  5. print(request.method)
  6. # 获取GET参数
  7. print(request.GET)
  8. # 获取POST参数
  9. print(request.POST)
  10. # 获取GET中的a参数
  11. print(request.GET['a'])
  12.  
  13. # 响应方式1.通过render方式,通过html模板输出
  14. return render(request,"something.html")
  15. # 响应方式2.通过HttpResponse方式,直接返回内容
  16. return HttpResponse(request.GET['a'])
  17. # 响应方式3.通过redirect方式,重定向链接
  18. return redirect("https://www.baidu.com")
0x02 一个简单的登录界面示例
login.html部分:
这边需要注意一定要在form表单上加一句{% csrf_token %}
复制代码
  1. <!DOCTYPE html>
  2. <html lang="en">
  3. <head>
  4. <meta charset="UTF-8">
  5. <title>Login</title>
  6. </head>
  7. <body>
  8. <h1>用户登录</h1>
  9. <form method="post" action="/login/">
  10. {% csrf_token %}
  11. <input type="text" name="user" placeholder="用户名">
  12. <input type="password" name="passwd" placeholder="密码">
  13. <input type="submit" value="提交">
  14. </form>
  15. <span style="color: red"> {{ error_msg }}</span>
  16. </body>
  17. </html>
views.py login方法部分:
复制代码
  1. def login(request):
  2. if request.method == "GET":
  3. return render(request, "login.html")
  4. elif request.method == "POST":
  5. username = request.POST['user']
  6. password = request.POST['passwd']
  7. if username == "root" and password == "123456":
  8. return HttpResponse("登陆成功")
  9. else:
  10. error_msg = "登录失败,用户名或者密码错误"
  11. return render(request, "login.html", {"error_msg": error_msg})

标签: django

发表评论