打开APP
userphoto
未登录

开通VIP,畅享免费电子书等14项超值服

开通VIP
flask实现一个简单的前后端交互功能

总共写了4个文件:

一个主程序demo.py

一写测试数据脚本(直接在终端执行添加测试数据)

一个用来添加数据html文件,login.html

一个用来展示数据的html文件,index.html

写的很low的,临时写的,还有很多不用要的,比如manager,已开始写上去准备命令执行已有数据库的迁移,但是从新创建了一个模型类做简单的操作所以用不到,可以删掉的。而且什么验证都没做,添加数据最好添加有效的数据呀(如  zhangsan   28),用的是form表单提交数据

主程序:

  1. from flask import Flask, render_template
  2. from flask import request
  3. from flask_sqlalchemy import SQLAlchemy
  4. from flask_migrate import Migrate,MigrateCommand
  5. from flask_script import Shell,Manager
  6. app = Flask(__name__)
  7. app.config['SQLALCHEMY_DATABASE_URI'] = "mysql://root:mysql@127.0.0.1:3306/xx"
  8. app.config['SQLALCHEMY_TRACK_MODIFICATIONS'] = True
  9. app.config['WTF_CSRF_ENABLED'] = False
  10. db = SQLAlchemy(app)
  11. migrate = Migrate(app,db)
  12. manager = Manager(app)
  13. manager.add_command('db',MigrateCommand)
  14. class User(db.Model):
  15. __tablename__ = 'users'
  16. id = db.Column(db.Integer, primary_key=True)
  17. name = db.Column(db.String(64), unique=True, index=True)
  18. age = db.Column(db.Integer, default=18)
  19. def __repr__(self):
  20. return 'User:%s'%self.name
  21. @app.route('/')
  22. def demo():
  23. user = User.query.first()
  24. name = user.name
  25. age = user.age
  26. data = {
  27. "name": name,
  28. "age": age
  29. }
  30. return render_template("index.html", data=data)
  31. @app.route('/login', methods=["GET", "POST"])
  32. def login():
  33. if request.method == "POST":
  34. username = request.form.get("username")
  35. userage = request.form.get("userage")
  36. user = User(name=username, age=userage)
  37. db.session.add(user)
  38. db.session.commit()
  39. return render_template("login.html")
  40. if __name__ == '__main__':
  41. db.create_all()
  42. app.run(debug=True)
  43. manager.run()

测试数据:

  1. from .demo import *
  2. user_a = User(name='mayun', age=23)
  3. user_b = User(name='laoma', age=40)
  4. db.session.add_all([user_a, user_b])
  5. db.session.commit()

测试数据是在主程序所在虚拟环境目录下的中终端启用ipython执行即可

然后就是和主程序同目录下创建的templates模板文件下的两个html文件

index.html

  1. <!DOCTYPE html>
  2. <html lang="en">
  3. <head>
  4. <meta charset="UTF-8">
  5. <title>首页</title>
  6. </head>
  7. <body>
  8. <table border="1">
  9. <tr>
  10. <th>姓名</th>
  11. <th>年龄</th>
  12. </tr>
  13. <tr>
  14. <td>{{ data.name }}</td>
  15. <td>{{ data.age }}</td>
  16. </tr>
  17. </table>
  18. </body>
  19. </html>

login.html

  1. <!DOCTYPE html>
  2. <html lang="en">
  3. <head>
  4. <meta charset="UTF-8">
  5. <title>Xiaotaotao</title>
  6. </head>
  7. <body>
  8. <form method="post">
  9. <label>姓名:</label><input type="text" name="username" placeholder="请输入姓名"><br/>
  10. <label>年纪:</label><input type="password" name="userage" placeholder="请输入年纪"><br/>
  11. <input type="submit" value="提交">
  12. </form>
  13. </body>
  14. </html>

 

效果图:查询和数据库渲染到页面和从页面添加数据到数据库都OK

本站仅提供存储服务,所有内容均由用户发布,如发现有害或侵权内容,请点击举报
打开APP,阅读全文并永久保存 查看更多类似文章
猜你喜欢
类似文章
数据库|Flask实现简单搜索功能
Flask框架学习整理——从零开始入门Flask
flask 与 flask_migrate的使用
从零开始用 Flask 搭建一个网站(二)
第46天:Flask数据持久化
Flask SQLAlchemy 之 操作数据准备
更多类似文章 >>
生活服务
热点新闻
分享 收藏 导长图 关注 下载文章
绑定账号成功
后续可登录账号畅享VIP特权!
如果VIP功能使用有故障,
可点击这里联系客服!

联系客服