美文网首页
Python Web框架 Flask - Flask - ses

Python Web框架 Flask - Flask - ses

作者: 莫名ypc | 来源:发表于2018-12-18 17:45 被阅读0次

使用Flask-Session进行存储,将数据保存在redis中
安装Redis和session

pip install flask-session

pip install redis

配置Redis

from flask import Flask
from flask_script import Manager
from flask_session import Session

from app.views import blue

import redis


app = Flask(__name__)

app.register_blueprint(blue, url_prefix='/app')

app.secret_key = 'qwertyuiopasdfghjklzxcvbnm1234567890'

# 配置session
app.config['SESSION_TYPE'] = 'redis'
app.config['SESSION_REDIS'] = redis.Redis(host='127.0.0.1', port=6379)

# 初始化session和app对象
se = Session()
se.init_app(app)

manage = Manager(app)

if __name__ == '__main__':
    # app.run()
    manage.run()

模板

静态文件的解析方式
第一种

<link rel="stylesheet" href="/static/css/style.css">

第二种

<link rel="stylesheet" href="{{ url_for('static', filename='css/style.css') }}">

继承父模板且添加新的内容

{% block js %}
    {{ super() }}
    <script>xxxxx</script>
{% endblock %}

Django - forloop.counter
Flask - loop.index

宏定义

    <!--宏定义-->
    {% from 'functions.html' import say %}
    {% from 'functions.html' import good_list %}

    {{ say() }}

    {{ good_list('1', '橙子', '5', '500') }}
    {{ good_list('2', '柠檬', '8', '300') }}

functions.html

<!--宏定义-->
{% macro say() %}
    <P>你今天真好看</P>
{% endmacro %}

{% macro good_list(id, name, price, nums) %}
    <P>编号:{{ id }} , 名称: {{ name }} , 价格: {{ price }} , 数量: {{ nums }}</P>
{% endmacro %}

过滤器

srtiptags - 删除文本中的样式
trim - 删除文本前后的空格

    {{ c2 | safe }}
    <br>
    {{ c3 | striptags }}
    <br>
    {{ c2 | length }}
    <br>
    {{ c3 | trim | length }}


    {% if nums == 10 %}
        {{ nums }}
    {% endif %}

模型

安装

pip install flask-sqlalchemy

定义模型

from flask_sqlalchemy import SQLAlchemy


db = SQLAlchemy()


class Student(db.Model):

    id = db.Column(db.Integer, primary_key=True, autoincrement=True)
    s_name = db.Column(db.String(80), unique=True, nullable=False)
    s_age = db.Column(db.Integer, default=18)

    __tablename__ = 'stu'

配置

dialect+driver://username:password@host:port/database

# 配置数据库
# dialect+driver://username:password@host:port/database
app.config['SQLALCHEMY_DATABASE_URI'] = 'mysql+pymysql://root:123456@127.0.0.1:3306/flask'
app.config['SQLALCHEMY_TRACK_MODIFICATIONS'] = False

初始化:

# 初始化db和app对象
db.init_app(app)

创建:db.create_all()

@blue.route('/create_db/')
def create_db():
    db.create_all()
    return '创建数据库成功'

删除:db.drop_all()

@blue.route('/drop_db/')
def drop_db():
    db.drop_all()
    return '删除数据库成功'

相关文章

网友评论

      本文标题:Python Web框架 Flask - Flask - ses

      本文链接:https://www.haomeiwen.com/subject/guykkqtx.html