Flask

A collection of 19 posts

Flask

Flask-User v1.0 自定义 UserManager

Flask-User 用户注册表单的默认密码验证规则为:长度不小于 6 位,必须包含大写和小写字母。在 v0.6 版本时,可以直接通过实例化 UserManager 类时传入自定义方法重写规则。 db_adapter = SQLAlchemyAdapter(db, User) user_manager = UserManager( db_adapter, app, password_validator=password_length, user_profile_view_function=user_profile) v1.0 以后版本则需要通过创建 CustomUserManager(UserManager) 自定义类重写规则。 # 通过自定义类重写 UserManager 中的方法 class

Python

Pipenv - Python 虚拟环境管理器

Pipenv - Pyhton 官方推荐的包管理工具。 它与 NodeJS 的 NPM 包管理器和 PHP 的 Composer 等类似,通过引入 Pipfile 和 Pipfile.lock 文件实现自动化的虚拟环境和包管理功能。 安装 pipenv $ pip install --user pipenv 初始化 创建项目目录 ~ $ mkdir myproject 初始化项目环境 ~/myproject $ pipenv --python 3 使用 安装 flask ~/myproject $ pipenv install flask 打开项目 shell ~/myproject

Python

Python 创建 Linux 后台运行任务

比如 rsync 复制文件或 restic 备份文件到云平台,将这一类耗时的操作扔到 Linux 后台去运行。 使用 subprocess.Popen() 执行命令,命令会在当前 Python 进程下创建子进程上运行。 运行任务 import subprocess errput = open(os.path.join(app.root_path, 'restic.err'), 'w') backup = subprocess.Popen(cmd, stderr=errput) errput.close() 查看任务进程 backup.pid,杀掉任务进程 backup.kill()

Tech

Python 键值对按顺序插入字典

Python Dict 键值对默认不是按顺序插入的,如果希望键值对按顺序依次插入,可以使用 collections.OrderedDict。 我的需求是将普通的 Dict 转换成 OrderedDict,实现方法如下: 先将键值以元组形式插入到数组,然后将数组转换成 OrderedDict from collections import OrderedDict order_conf = [ ('comment', request.form['comment']), ('path', share_path), ('browseable', request.form['browseable']), ('read only', request.form['read_only']), ('guest ok', request.form['guest_ok']

Tech

Flask-Babel 使用

flask 若需多国语言支持,可使用 flask-babel 扩展实现。 基本使用步骤为,安装扩展并初始化,用 gettext() 函数设置需要被翻译的字符串。创建 babel.cfg 映射文件,然后使用 pybabel 依次生成 .pot .po .mo 翻译文件,当内容发生变化时使用 pybabel 更新翻译内容。 第一步 初始化 from flask import Flask from flask_babel import Babel app = Flask(__name__) app.config.update( DEBUG = True, TEMPLATES_

Tech

Flask 安装

virtualenv 能解决多个 Python 项目依赖同一库的不同版本的问题,项目被限制在一个独立的虚拟环境中。 安装 virtualenv $ sudo pip install virtualenv 提示:终端中可以使用 alias pip=/usr/local/bin/pip3 为程序设置别名。 使用 virtualenv 创建并进入项目目录,创建虚拟环境: $ mkdir myflask $ cd myflask $ virtualenv venv New python executable in venv/bin/python Installing setuptools, pip............done. 虚拟环境创建好以后,使用以下命令激活环境: $ . venv/

You've successfully subscribed to Herald's Tech Notes!