Flask 学习记录

python环境

1.安装 pyenv. 用来切换各个python版本
pyenv的安装方式包括多种,重点推荐采用pyenv-installer的方式,原因主要有两点:
a. 通过pyenv-installer可一键安装pyenv全家桶,后续也可以很方便地实现一键升级(pyenv update);
b. pyenv-installer的安装方式基于GitHub,可保证总是使用到最新版本的pyenv,并且Pytho版本库也是最新最全的。

安装命令: sudo curl -L https://raw.githubusercontent.com/pyenv/pyenv-installer/master/bin/pyenv-installer | bash
安装完毕后,在 .zshrc 里面添加:
export PATH="/Users/mac/.pyenv/bin:$PATH"
eval "$(pyenv init -)"
eval "$(pyenv virtualenv-init -)"

然后可以通过 pyenv install -l 查看可以安装的东西.
比如安装python3.6, 通过 pyenv install 3.6 即可.

切换版本(切换到需要的版本):
pyenv global 3.6

2.安装virtualenv. 用来为一个应用创建一套“隔离”的Python运行环境。
a.安装: pip3 install virtualenv
b.创建工程目录和独立的python环境,命名为venv
mkdir project
cd project
virtualenv --no-site-packages venv
参数--no-site-packages表示安装到系统Python环境中的所有第三方包都不会复制过来.
c.然后通过 source venv/bin/activate 进行该环境,deactivate 进入/退出 这个环境.

3.在 pycharm 里面配置 venv.
只需要指定解释器的位置, 然后设置一个空的文件夹即可.

用到的包

  1. flask
  2. flask-sqlalchemy
  3. 如果使用 mysql 还需要 PyMySQL
  4. flask-script
  5. flask-migrate(Alembic) 进行数据库的迁移.TODO
  6. jinja的使用

数据库驱动uri

sqlite:///database.db
mysql+pymysql://user:password@ip:port/db_name

通过flask-sqlalchemy 进行增删改查

db.create_all()

1.添加一条记录
user = User('zhangsan')
db.session.add(user)
db.session.commit()

2.查询
User.query.first()
User.query.all()
User.query.filter_by(username='xxx').first()
等等. (具体的 查看文档)

3.修改
User.query.filter_by(username='xxx').update({'password':'test'})
db.session.commit()

4.删除
user = User.query.filter_by(username='xxx').first()
db.session.delete(user)
db.session.commit()

数据模型之间的关系(一对多 多对多)

一对多

1.在'多'的那一边添加一个字段表示外键.如:
user_id = db.Column(db.Integer(),db.ForeignKey('user.id')), 外键引用'一'这边的主键

2.在'一'的那一边添加关系.如:
posts = db.relationship('Post',backref='user',lazy='dynamic')
注意:
backref 表示可以通过post对象直接引用user
lazy 表示如何去加载关联的对象

多对多

TODO

jinja的使用

  1. 过滤器
    default escape float int join length round safe title tojson truncate 自定义过滤器

  2. 注释
    {# 这里面是注释 #}

  3. if语句
    {% if user.is_logged_in() %}
    Logout
    {% else %}
    Login
    {% endif %}

  4. 循环
    {%% for post in posts }


    {{post.title}}


    {{post.text | safe}}



    {% endfor %}
    loop 这个特殊的变量的使用

转载于:https://www.cnblogs.com/daihanlong/p/8476777.html

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值