css 两种加载方法
- 方法一 推荐
link rel=”stylesheet” href=”/static/css/index.css” - 方法二
link rel=”stylesheet” href=”{{ url_for(‘static’, filename=’css/index.css’) }}”
jinja2 用法 同django
- for
- if
- loop.first/last/index/revindex
过滤器 |
- safe 展示样式
- striptags 消除样式
- length 长度
- trim 消除空格
- first 第一个字母
- last 最后一个字母
- upper 大写
- lower 小写
- capitalize 首字母大写
config 全局
- 参数的配置,都在里面,可以在任意地方遍历查看
定义函数 macro
- 定义函数
{% macro say(name) %}
{{name}}: 你是真的帅
{% endmacro %} - 调用函数
{% from ‘function.html’ import say %}
{{ say(‘郑欢欢’) }}
数据库 mysql
安装包
- pip install flask-sqlalchemy
- pip install pymysql
环境配置,注册 init.py
- from flask_sqlalchemy import SQLAlchemy
- app.config[‘SQLALCHEMY_DATABASE_URI’] = ‘mysql+pymysql://root:123456@localhost:3306/flask3’
- app.config[‘SQLALCHEMY_TRACK_MODIFICATIONS’] = False
- SQLAlchemy(app=app)
数据库框架的创建,models.py
- 导入数据库包
- 实例化一个对象 db = SQLAlchemy()
- 创建表结构,区别于django
class Student(db.Model):
s_id = db.Column(db.INTEGER, primary_key=True, autoincrement=True)
s_name = db.Colum(db.String(20), unique)
s_age = db.Colum(db.INTEGER, default=18)
_tablename__ = 'student'
数据库的操作 views.py
- db.create_all() 创建表
- db.drop_all() 删除表
- 增
- db.session.add(x) x为实例化的表,添加的内容
- db.session.commit() 提交到数据库
- 删
- db.session.delete(x)
- db.session.commit()
- 改
(1) 方法一 推荐
* Student.query.filter_by(s_id=6).update({‘s_name’: ‘哈哈’})
* db.session.commit()
(2)方法二 不推荐
* stu = Student.query.filter_by(s_id=6).first()
* stu.s_name = ‘哈哈’
* db.session.commit() - 查
(1) 方法一,filter_by 推荐
* stus = Student.query.filter_by(s_id=5)
(2)方法二 原生sql语句
* sql = ‘select * from student’
* stus = db.session.execute(sql)
(3) 方法三 , filter 不推荐
* stus = Student.query.filter(Student.s_id==5)
重点巩固知识
- jinja2
- 页面的继承,页面方法的定义
- MySQL数据库的增删查改,配置,使用