当前位置:   article > 正文

基于Flask实现简单的登录界面交互_flask输入账号密码登入

flask输入账号密码登入

一、安装环境以及工具

1.pycharm community

pycharm官网

2.python集成环境

这里作者使用的是conda进行安装,conda集成了很多的python包,且较容易管理安装包,所以使用conda比较舒适。conda安装可以参考其他博主的文章。

3.安装flask

使用命令conda install flask

二、需求分析

1.前端需要一个登录界面,用户名和密码的输入框以及登录按钮

2.后端需要处理前端请求,并完成成功的相应跳转

需求非常简单,接下来就是具体的实现环节。

三、前端界面实现

1.登录界面

登录界面是一个简单的表单,采用post请求。对于web基础知识不够理解的朋友,可以初步去了解一下。主要是http协议、html等内容的一个入门。

  1. <!DOCTYPE html>
  2. <html lang="en">
  3. <head>
  4. <meta charset="UTF-8">
  5. <title>登录</title>
  6. </head>
  7. <body>
  8. <form action="/login" method="post">
  9. <p>用户名:<input type="text" name="Username"></p>
  10. <p>密码:<input type="password" name="Passwd"></p>
  11. <input type="submit" value="登录">
  12. </form>
  13. </body>
  14. </html>

2.反馈界面

{{username}}是一个模板语法,可以获取到后端返回参数的值。

  1. <!DOCTYPE html>
  2. <html lang="en">
  3. <head>
  4. <meta charset="UTF-8">
  5. <title>欢迎</title>
  6. </head>
  7. <body>
  8. <h1>欢迎{{username}}</h1>
  9. <a href="/logout">登出</a>
  10. </body>
  11. </html>

四、后端管理代码

登录的时候需要保存用户的session以便于再次访问时可以直接进入想要的反馈界面。同时登出的时候把session删除。session的具体知识细节可以参考其他博主的文章。

  1. #引入包
  2. from flask import Flask,request,session,render_template,redirect,url_for
  3. #创建对象
  4. app=Flask(__name__)
  5. app.secret_key="zqh"
  6. #定义登录界面
  7. @app.route("/")
  8. def index():
  9. return render_template("home.html")
  10. #处理登录请求
  11. @app.route("/login",methods=["POST","GET"])
  12. def login():
  13. #get请求重定向要home页面
  14. if request.method=="GET":
  15. #session没有就返回登录
  16. if session.get("Username"):
  17. return render_template("welcom.html", username=session["Username"])
  18. #如果有直接进入主页
  19. else:
  20. return redirect(url_for("index"))
  21. #post请求处理form表单
  22. else:
  23. #输入的不是空的用户名或空的密码
  24. if request.form["Username"]!="" and request.form["Passwd"]!="":
  25. session["Username"]=request.form["Username"]
  26. return render_template("welcom.html",username=session["Username"])
  27. #否则重新进行登录
  28. else:
  29. return redirect(url_for("index"))
  30. #处理登出
  31. @app.route("/logout")
  32. def logout():
  33. session.pop("Username",None)
  34. return redirect(url_for("index"))
  35. if __name__=="__main__":
  36. app.run(debug=True)

五、效果展示

六、总结

那么以上就是整个一个项目的搭建,比较简陋。完善的地方有很多,包括UI,以及用户名密码的验证,同时可以加入数据库的技术,使得整个项目实现完整的前后端分离,有视图层,有数据模型,有控制层。作者也在学习中,后期会更新相关的项目。

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/blog/article/detail/66521
推荐阅读
相关标签
  

闽ICP备14008679号