# flaskr **Repository Path**: jasonz666/flaskr ## Basic Information - **Project Name**: flaskr - **Description**: flask教程项目flaskr - **Primary Language**: Unknown - **License**: MIT - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 0 - **Forks**: 0 - **Created**: 2023-11-02 - **Last Updated**: 2023-11-02 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README ## flask tutorial flask 教程 ### 教程官方文档: https://flask.palletsprojects.com/en/3.0.x/tutorial/ ### 安装flaskr包: https://flask.palletsprojects.com/en/3.0.x/tutorial/install/ 1. 生成安装包的配置文件:pyproject.toml 2. 生成安装包命令:cd /path/to/flask_tutorial/; pip install -e . 3. 安装完后使用命令可以看到如下结果: ```bash $ pip list Package Version Editable project location ------------ ------- ----------------------------------------------------------- blinker 1.6.3 click 8.1.7 Flask 3.0.0 flaskr 1.0.0 /path/to/flask_tutorial itsdangerous 2.1.2 Jinja2 3.1.2 MarkupSafe 2.1.3 pip 23.3.1 setuptools 60.2.0 Werkzeug 3.0.1 wheel 0.37.1 ``` 4. 这样生成安装包之后,运行flask命令不需要在flask-tutorial目录内,任何目录下都可以: ```bash $ flask --app flaskr run --debug ``` ### 部署flaskr项目 1. 打包成.whl包: ```bash # 在 flask-tutorial 目录内执行 $ pip install build # 生成的包在目录 flask_tutorial/dist/flaskr-1.0.0-py2.py3-none-any.whl $ python -m build --wheel ``` 2. 在新的系统(如云服务器上)创建venv环境: ```bash # 创建myproject目录,并创建.venv虚拟环境目录 $ mkdir myproject $ cd myproject $ python3 -m venv .venv # 激活虚拟环境 $ . .venv/bin/activate ``` 3. 在新系统安装flaskr包 ```bash # 把 flaskr-1.0.0-py3-none-any.whl 包传到云服务器上 pip install flaskr-1.0.0-py3-none-any.whl # 初始化flaskr数据库表 $ flask --app flaskr init-db ``` 4. 配置新的Secret Key ```bash # flask的session,cookie加密验证等,需要这个key $ python -c 'import secrets; print(secrets.token_hex())' # 创建新的config.py文件 touch .venv/var/flaskr-instance/config.py # 编辑配置 vim .venv/var/flaskr-instance/config.py # 加入一行内容 # SECRET_KEY = 'key的内容' ``` 5. 运行flaskr服务 ```bash # 安装wsgi服务 $ pip install waitress # 运行flaskr waitress-serve --call --host='127.0.0.1' --port='8080' 'flaskr:create_app' ``` 完成!