nyg
nyg ·

为了区分生产环境的依赖和开发环境的依赖,我们可以把文件requirements.txt换成requirements文件夹,它们分别保存不同环境中的依赖。在这个新建的文件夹中,我们可以创建一个dev.txt文件,列出开发过程中所需的依赖,再创建一个prod.txt文件,列出生产环境所需的依赖。由于两个环境所需的依赖大部分是相同的,因此可以创建一个common.txt文件,在dev.txt和prod.

全文阅读
nyg
nyg ·

若想把角色写入数据库,可使用shell会话:(venv)$pythonmanage.pyshell>>>Role.insert_roles()>>>Role.query.all()
管理员由保存在设置变量FLASKY_ADMIN中的电子邮件地址识别,只要这个电子邮件地址出现在注册请求中,就会被赋予正确的角色。

nyg
nyg ·

dumps()方法为指定的数据生成一个加密签名,然后再对数据和签名进行序列化,生成令牌字符串。expires_in参数设置令牌的过期时间,单位为秒。为了解码令牌,序列化对象提供了loads()方法,其唯一的参数是令牌字符串。这个方法会检验签名和过期时间,如果通过,返回原始数据。如果提供给loads()方法的令牌不正确或过期了,则抛出异常。

nyg
nyg ·

与用户认证系统相关的路由可在auth蓝本中定义。
auth蓝本保存在同名Python包中。蓝本的包构造文件创建蓝本对象,再从views.py模块中引入路由。
from flask import Blueprintauth = Blueprint ('auth',__name__) from . import views