人工智能技术+使用Flask-SQLAlchemy管理数据库【福州智慧城市】
一、文章内容:
授课:林德尧(泉舟时代-未来城市技术总监)
主要内容
shell 命令可以 执行项目总所有的文件,函数
1、pymysql 导包
pip install pymysql
2、连接数据库
dialect+driver://username:password@host:port/database
dialect数据库实现
driver数据库的驱动
username 数据库账号
password 数据库密码
host 服务器
port 端口号
database 数据库名
代码如下:
model.py
from flask_sqlalchemy import SQLAlchemy
db = SQLAlchemy()
def init_db(app):
db.init_app(app)
class Person(db.Model):
p_id = db.Column(db.Integer, primary_key=True, autoincrement=True)
p_name = db.Column(db.String(16))
p_age = db.Column(db.String(16))
p_sex = db.Column(db.String(16))
p_heigh = db.Column(db.String(20))
p_weight = db.Column(db.String(16))
p_num = db.Column(db.String(16))
p_hobby = db.Column(db.String(16))
p_grade = db.Column(db.String(16))
p_class = db.Column(db.String(16))
view.py
import random
from flask import Blueprint, render_template
from App.Model import Person, db
blue = Blueprint('blue_first', __name__)
@blue.route('/')
def hello_world():
return 'Hello World!'
@blue.route('/create/')
def create():
db.create_all()
return '创建数据库成功!'
@blue.route('/add/')
def addadmin():
admin = Person()
admin.p_name = '吃屁去吧%d' % random.randrange(50)
admin.p_age='18'
admin.p_sex='男'
admin.p_heigh='180cm'
admin.p_weight='70kg'
admin.p_num='12345678999'
admin.p_hobby='打篮球'
admin.p_grade='大三'
admin.p_class='5班'
db.session.add(admin)
db.session.commit()
return '添加数据成功!'
@blue.route('/personlist/')
def personlist():
persons = Person.query.all()
for person in persons:
print(person.p_name)
print(type(person))
return render_template('personlist.html', persons=persons)
manage.py
from flask import Flask
from flask_script import Manager
from App.Model import init_db
from App.View import blue
app = Flask(__name__)
manager = Manager(app=app)
app.register_blueprint(blueprint=blue) # alt+enter
app.config['SQLALCHEMY_DATABASE_URI'] = 'mysql+pymysql://root:123456@localhost:3306/test'
init_db(app)
if __name__ == '__main__':
manager.run()
personlist.html
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>personlist</title>
</head>
<body>
<ul>
{% for person in persons %}
<li>{{ person.p_name }}</li>
<li>{{ person.p_age }}</li>
<li>{{ person.p_sex }}</li>
<li>{{ person.p_heigh }}</li>
<li>{{ person.p_weight }}</li>
<li>{{ person.p_num }}</li>
<li>{{ person.p_hobby }}</li>
<li>{{ person.p_grade }}</li>
<li>{{ person.p_class }}</li>
{% endfor %}
</ul>
</body>
</html>
运行结果:
参考资料:
菜鸟教程
Python Flask学习_使用SQLAlchemy管理数据库