Flask环境github部署(十三)

本文涉及的产品
RDS MySQL Serverless 基础系列,0.5-2RCU 50GB
云数据库 RDS MySQL,集群系列 2核4GB
推荐场景:
搭建个人博客
云数据库 RDS PostgreSQL,集群系列 2核4GB
简介: (1) github项目搭建1 连接GitHubhostnamectl set-hostname flask-dev # 设置 hostname,一般是主机名可以不更改ssh-keygen # 生成SSH公钥,一直enter代表不设置密码cd .

(1) github项目搭建

1 连接GitHub

hostnamectl set-hostname flask-dev  # 设置 hostname,一般是主机名可以不更改
ssh-keygen                          # 生成SSH公钥,一直enter代表不设置密码
cd .ssh/         #存放秘钥文件,id_rsa是私钥文件,id_rsa.pub是公钥文件
vim id_rsa.pub   #编辑秘钥,全部复制公钥添加到  账户settings >> SSH-keys  >> add SSHkeys

2 配置git

git config --global user.email "邮箱"   #设置用户名与邮箱,作为标识
git config --global user.name "账户名"

vim ~/.gitconfig   #添加配置信息
    [core]
      repositoryformatversion = 0
      filemode = true
      bare = false
      logallrefupdates = true
      editor = vim

3 配置虚拟环境

pip3 install virtualenv   #安装virtualenv
virtualenv flaskenv   #创建flaskenv虚拟环境
source env/bin/activate   #激活虚拟环境

4 安装flask

pip3 install flask   #安装flask
pip freeze  > requirements.txt   #在requirements.txt生成当前环境下所需要安装的python软件包列表
pip install -r requirements.txt  #生成 requirements.txt 文件,更方便我们去安装需要的包
deactivate  #退出当前的虚拟环境

5 创建github项目

# 让 Git 忽略对整个 env 目录和所有 *.pyc 文件的处理,让 Git 仅处理自己的代码文件
vim .gitignore    
    env/
    *.pyc
mkdir gitblog  #创建项目名
cd gitblog

# 创建 README 文件
echo "# welcome to why blog! " >> README.md

# 初始化 git 仓库
git init

# 将刚创建的文件都加入 git 缓冲区
git add .

# 提交改动文件到 git 仓库
git commit -m "first commit"

# 将项目发布到 github
git remote add origin https://github.com/用户名/blog.git
git push -u origin master

(2) 项目简单流程

1 项目配置文件config.py/settings.py

#配置所有环境的基类
class Config:
    SECRET_KEY = 'JAGAFAjjfdsfdasdas'
    SQLALCHEMY_TRACK_MODIFITIONS = False

#测试
class TestingConfig(Config):
    SQLALCHEMY_DATABASE_URI = 'mysql+pymysql://root:xxx@127.0.0.1:3306/xxxblog'
    pass
#开发
class DevelopmentConfig(Config):
    SQLALCHEMY_DATABASE_URI = 'mysql+pymysql://root:xxx@127.0.0.1:3306/xxxblog'
    DEBUG = True
#生产
class ProductionConfig(Config):
    SQLALCHEMY_DATABASE_URI = 'mysql+pymysql://root:xxx@127.0.0.1:3306/xxxblog'
    pass

sqlalchemy通过特殊的URI字符串创建数据库的连接
#  database_type+driver://user:password@sql_server_ip:port/database_name

2 创建主启动文件manage.py

​ 该文件是 Flask 应用的核心,也是程序的入口

from flask import Flask
from config import DevelopmentConfig
from flask_script import Manager

app = Flask(__name__)
manager = Manager(app)
# 使用 config.from_object() 而不使用 app.config['DEBUG'] 是因为这样可以加载 class DevConfig 的配置变量集合,而不需要一项一项的添加和修改。
app.config.from_object(DevConfig)

# 指定 URL='/' 的路由规则
@app.route('/')
def index():
    return '<h1>index</h1>'

if __name__ == '__main__':
    manager.run()

#注意 : 通过 manager.py 来执行命令行是十分有必要的,因为一些 Flask 的扩展只有在 Flask app object 被创建之后才会被初始化,所以非常依赖于应用上下
文的环境,在没有 Flask app object 时,直接运行默认的 Python CLI 会导致
这些 Flask 扩展返回错误。

3 运行开发服务器

python manage.py runserver -d -r  
python3 当前启动文件名.py runserver  可选参数
#可选参数如下:
-h  主机名
-p  端口号
--threaded 开启多线程
-d 开启调试模式
-r 代码修改后重新加载

4 Models与SQLAlchemy

  1. 在 Web 应用程序开发中引入了 Models 为了 —— 将关系型数据转化为一个对象类型
  2. SQLAlchemy 是一个 Python 包,其最底层包装了对数据库进入操作的统一接口,然后在最上层提供了对象关系映射(ORM)的实现。
  3. SQLAlchemy-ORM 可以把大量的不同类型的数据库中的数据,转换成 Python 对象的集合。即SQLAlchemy-ORM 可以将对这些数据对象的操作转化为对数据库的操作。
  4. Flask 为我们提供了 Flask SQLAlchemy,其实就是在 SQLAlchemy 上提供了一层包装,让 SQLAlchemy 可以结合 Flask 的一些特性来使用。
相关实践学习
如何快速连接云数据库RDS MySQL
本场景介绍如何通过阿里云数据管理服务DMS快速连接云数据库RDS MySQL,然后进行数据表的CRUD操作。
全面了解阿里云能为你做什么
阿里云在全球各地部署高效节能的绿色数据中心,利用清洁计算为万物互联的新世界提供源源不断的能源动力,目前开服的区域包括中国(华北、华东、华南、香港)、新加坡、美国(美东、美西)、欧洲、中东、澳大利亚、日本。目前阿里云的产品涵盖弹性计算、数据库、存储与CDN、分析与搜索、云通信、网络、管理与监控、应用服务、互联网中间件、移动服务、视频服务等。通过本课程,来了解阿里云能够为你的业务带来哪些帮助 &nbsp; &nbsp; 相关的阿里云产品:云服务器ECS 云服务器 ECS(Elastic Compute Service)是一种弹性可伸缩的计算服务,助您降低 IT 成本,提升运维效率,使您更专注于核心业务创新。产品详情: https://www.aliyun.com/product/ecs
相关文章
如何将静态网页部署到github上
如何将静态网页部署到github上
|
2月前
|
存储 Linux 数据安全/隐私保护
一键部署 200+ 开源Github 2k+ 星星的软件
Websoft9面板是一款基于Web的PaaS/Linux面板,支持在个人服务器上一键部署200多种热门开源应用,适用于个人开发者、中小企业、创业团队、教育机构和技术爱好者。它集成了丰富的开源软件,提供便捷的部署方式、高效的资源利用、良好的可扩展性及低技术门槛,帮助用户快速搭建和管理各类应用。
|
4月前
|
网络协议 开发工具 git
hexo github部署,通过域名访问你的博客
本文介绍了如何使用Hexo命令部署博客到GitHub,并详细说明了如何通过自定义域名访问GitHub上部署的博客。
hexo github部署,通过域名访问你的博客
|
5月前
|
搜索推荐 前端开发
使用VitePress创建个人网站并部署到GitHub
该网站使用 VitePress 构建,记录了前端开发相关的笔记和教程,涵盖 Vue2 和 Vue3 等内容。网站支持暗黑模式和 Algolia 搜索服务,提供了详细的导航和侧边栏配置。通过自动化脚本进行部署,托管于 GitHub Pages。
使用VitePress创建个人网站并部署到GitHub
|
5月前
|
JavaScript 搜索推荐 资源调度
使用VitePress静态网站生成器创建组件库文档网站并部署到GitHub
本文详细介绍了如何使用 Vue3、TypeScript 和 Vite 开发并发布一个名为 Vue Amazing UI 的组件库至 npm。文章首先引导读者安装配置 VitePress,创建文档网站,并编写组件库文档。接着,通过一系列配置实现网站主题定制、全局样式设置以及 Algolia 搜索功能集成。最后,文章提供了自动化脚本,帮助开发者一键打包部署静态网站至 GitHub,并发布组件库到 npm。通过这些步骤,读者可以轻松搭建并维护一个美观且功能齐全的组件库文档网站。
使用VitePress静态网站生成器创建组件库文档网站并部署到GitHub
|
5月前
|
资源调度 搜索推荐 Shell
使用VitePress静态网站生成器创建组件库文档网站并部署到GitHub
本文介绍了如何使用 Vue3、TypeScript 和 Vite 开发组件库并将其发布到 npm。文章详细描述了安装依赖、配置项目、创建文档网站以及编写组件文档的步骤。通过使用 VitePress,可以轻松搭建组件库的文档站点,并实现 Algolia 搜索功能。此外,还提供了自动化脚本用于部署静态网站至 GitHub 以及发布组件库到 npm。最后,展示了完整的目录结构和网站效果。
179 1
使用VitePress静态网站生成器创建组件库文档网站并部署到GitHub
|
5月前
|
存储 Linux 开发工具
【Azure App Service】本地Git部署Python Flask应用上云(Azure App Service For Linux)关键错误
【Azure App Service】本地Git部署Python Flask应用上云(Azure App Service For Linux)关键错误
|
5月前
|
Ubuntu Apache Python
如何在 Ubuntu VPS 上部署 Flask 应用程序
如何在 Ubuntu VPS 上部署 Flask 应用程序
57 1
|
5月前
|
Linux C++ Docker
【Azure Developer】在Github Action中使用Azure/functions-container-action@v1配置Function App并成功部署Function Image
【Azure Developer】在Github Action中使用Azure/functions-container-action@v1配置Function App并成功部署Function Image
|
5月前
|
Linux 网络安全 API
【Azure 应用服务】App Service For Linux 环境中,如何从App Service中获取GitHub私有库(Private Repos)的Deploy Key(RSA key)呢?
【Azure 应用服务】App Service For Linux 环境中,如何从App Service中获取GitHub私有库(Private Repos)的Deploy Key(RSA key)呢?