前言之前在课设写过一个人事管理系统里面也有写登录和注册,但是我将里面的登录注册代码单独拿出来后发现登录以后无法进行认证也就是 is_authenticated一直为false,于是就开始查找问题.之前用的是flask-security它可以实现用户的权限进行登录注册,这次的不需要用户权限设想就问题可能出在要设置权限,我感觉应该不是以后在做问题的查找.于是我换成了flask-login去实现登录和注册具体代码app.pyfrom flask import Flask from flask_sqlalchemy import SQLAlchemy from flask_login import LoginManager # 实例初始化环境信息文件 app = Flask(__name__) app.config['SECRET_KEY'] = 'xxx' # 等同于 app.secret_key = 'dev' 设置签名所需的钥匙 login_manager = LoginManager() login_manager.i
Flask蓝图模块化随着flask程序越来越复杂,我们需要对程序进行模块化的处理,之前学习过python的模块化管理,于是针对一个简单的flask程序进行模块化处理简单来说,Blueprint 是一个存储视图方法的容器,这些操作在这个Blueprint 被注册到一个应用之后就可以被调用,Flask 可以通过Blueprint来组织URL以及处理请求。Flask使用Blueprint让应用实现模块化,在Flask中,Blueprint具有如下属性:一个项目可以具有多个Blueprint可以将一个Blueprint注册到任何一个未使用的URL下比如 “/”、“/sample”或者子域名在一个应用中,一个模块可以注册多次Blueprint可以单独具有自己的模板、静态文件或者其它的通用操作方法,它并不是必须要实现应用的视图和函数的在一个应用初始化时,就应该要注册需要使用的Blueprint但是一个Blueprint并不是一个完整的应用,它不能独立于应用运行,而必须要注册到某一个应用中。Blueprint对象用起来和一个应用/Flask对象差不多,最大的区别在于一个 蓝图对象没有办法独立运行,必
flask部署安装虚拟环境 pip3 install virtualenv安装Flask,Gunicorn,Supervisorpip3 install flask gunicorn supervisor安装环境pip3 install -r requirements.txt使用gunicorn启动程序当我们部署到服务器上时,需要一个性能更优的 WSGI服务器。终端输入:gunicorn --workers=4 --bind=0.0.0.0:8080 app:appworkers 用来定义工作线程的数量,一般 worker 的数量为 (2×$num_cores)+1。官方文档中介绍到虽然这个公式并不十分科学,但它基于这样一个假设: 对于给定的核心数,一个工作线程将从套接字读取或写入数据,而另一个工作线程处理请求。bind 用来绑定程序运行的主机地址和端口。如果设置了SSL证书,命令为:gunicorn --keyfile=<私钥文件> --certfile=<SSL证书文件> --ca-certs=<CA证书文件> --bind=0.0.0.0:44
flask连接MySQL数据库安装数据库安装MySQLsudo apt-get install mysql-server libmysqld-dev python-mysqldb配置MySQL可以远程连接sudo nano /etc/mysql/mysql.conf.d/mysql.cnf # 找到并注释掉下面的内容 bind-address = 127.0.0.1修改root密码sudo mysqladmin -u root -p password # 填写密码 Enter password: 我安装的这个版本安装时没有设置root密码的提示,这个随便输 New password: 填你的密码 Confirm new password: 开启root远程登录权限sudo mysql #超级用户进入mysql # 切换到数据库MySQL use mysql; # 给root授予在任意主机(%)访问任意数据库的所有权限 grant all privileges on *.* to 'root'@'%' identified by &
一只胖橘