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.
只需要指定解释器的位置, 然后设置一个空的文件夹即可.
用到的包
- flask
- flask-sqlalchemy
- 如果使用 mysql 还需要 PyMySQL
- flask-script
- flask-migrate(Alembic) 进行数据库的迁移.TODO
- 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的使用
过滤器
default escape float int join length round safe title tojson truncate 自定义过滤器注释
{# 这里面是注释 #}if语句
{% if user.is_logged_in() %}
Logout
{% else %}
Login
{% endif %}循环
{%% for post in posts }
{{post.title}}
{{post.text | safe}}
{% endfor %}
loop 这个特殊的变量的使用宏