zoukankan      html  css  js  c++  java
  • Flask环境github及项目部署(十三)

    (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 的一些特性来使用。
  • 相关阅读:
    Vivado生成及使用edf文件
    ZYNQ Block Design中总线位宽的截取与合并操作
    Modelsim问题集锦
    Questasim10.6c下载安装教程
    ZYNQ工程PL顶层创建block module报错解决
    Linux自定义应用程序及其菜单图标
    OpenWRT DNS无法解析WAN连接的内网服务器域名
    Wishbone总线从接口转Xilinx MIG (Spartan 6)
    Wishbone总线接口RAM
    Windows系统下将目录挂载为一个磁盘并分配盘符
  • 原文地址:https://www.cnblogs.com/why957/p/9159065.html
Copyright © 2011-2022 走看看