Django请求和响应
1. 请求
- 获取请求方式 GET/POST
print(requset.method)
- 通过url传递值 /something?n1=1234&n2=456
print(requset.GET)
- 通过请求体获取数据
print(requset.POST)
【注】:获取的请求方式和传递的值和数据,可在终端后台看见
2. 响应
- HttpResponse("返回内容") 将字符串返回给请求者
return HttpResponse("返回内容")
- 读取html中的内容 + 渲染(替换) -> 字符串,返回给用户浏览器
return render(requset,'something.html', {"title":"在吗?"})
- 让浏览器重定向到其他页面
return redirect("www.baidu.com")
【注】:重定向并不是网站获取其他网页再交付浏览器;而是网站返回其他网页的值给浏览器,让浏览器自行访问其他网页。
3. 案例
-
配置urls与views视图函数
-
视图函数中加入判断
login视图函数
def login(request): if request.method == "GET": return render(request, "login.html") else: # 如果是POST请求,获取用户提交的数据 # print(request.POST) username = request.POST.get("user") password = request.POST.get("pwd") if username == 'root' and password == "123": # return HttpResponse("登录成功") return redirect("https://www.baidu.com/"); else: # return HttpResponse("登录失败") return render(request, "login.html", {"error_msg":"用户名或密码错误!"})
-
编写login网页模板
网页模板
<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>
【注】:表单中需加入
{% csrf_token %}
,否则会报403。 -
输入用户名和密码之后,点击提交,页面跳转,显示登录成功,后台终端将显示该用户名和密码。
【注】:['n32CliuoMhXYmhWutNtW7TrfY3NOCBeTzxJCyLJcDhqiXuX7oU23y8kzUBlcTSK3']
为Django提供的加密。 -
在视图函数判断中加入一个字典,该字典值为“用户名或密码错误!”,仅在用户名或者密码输入错误时显示,并在网页模版中调用该字典的键。
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 25岁的心里话
· 闲置电脑爆改个人服务器(超详细) #公网映射 #Vmware虚拟网络编辑器
· 基于 Docker 搭建 FRP 内网穿透开源项目(很简单哒)
· 零经验选手,Compose 一天开发一款小游戏!
· 通过 API 将Deepseek响应流式内容输出到前端