(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 的一些特性来使用。

Flask环境github及项目部署(十三)的更多相关文章

  1. IIS环境配置和项目部署

    本人实际工作项目中IIS部署,亲测可用~~ 具体步骤: 1.打开控制面板 2.打开程序和功能 3.打开或关闭Windous功能 然后勾选相关内容: 4.添加应用程序 先打开iis管理器页面(控制面板— ...

  2. Linux环境配置与项目部署

    简介: Linux是一类Unix计算机操作系统的统称.Linux操作系统的内核的名字也是“Linux”.Linux操作系统也是自由软件和开放源代码发展中最著名的例子.严格来讲,Linux这个词本身只表 ...

  3. Linux环境搭建及项目部署

    一. VMWare安装图解 1.点击下一步 2.接受条款,下一步 3.选择安装目录,不建议有中文目录和空格目录.下一步 4.下一步 5.这两个选项根据可以爱好习惯选择,下一步 6.安装 7.完成 9. ...

  4. Linux详解(基础、环境配置、项目部署入门)

    Linux(CentOS 7)操作系统 消息队列(Kafka.RabbitMQ.RocketMQ),缓存(Redis),搜索引擎(ES),集群分布式(需要购买多台服务器,如果没有服务器我们就只能使用虚 ...

  5. Centos系统Python环境搭建和项目部署

    目录 一.Python 1. 源安装 Python3 2. SCL安装 Python3 3. 虚拟环境venv 4. 安装Flask 5. 安装gunicorn 二.安装Nginx 1. 安装Ngin ...

  6. LNMP环境+ 前后端项目部署+redis+redis扩展

    LNMP 环境    (参照https://lnmp.org/install.html) wget -c http://soft.vpser.net/lnmp/lnmp1.4.tar.gz & ...

  7. nginx+uwsgi+flask+supervisor 项目部署

    环境 - Linux: Ubuntu 16.04 - uWSGI 2.0.18 - Flask 1.0.2 - supervisor 3.2.0 - nginx/1.8.1 首先区分几个概念 WSGI ...

  8. JAVA面向对象编程课程设计——项目部署

    目录 一.Java环境的安装 1.下载 2.安装 3.配置环境变量 二.Tomcat的安装 1.下载 2.安装 3.启动Tomcat(默认已经安装好java环境,如果未安装java会报错.) 三.My ...

  9. java项目部署

    本文章只为帮助大家学习项目的发布,为基础篇,在此给大家示范在window环境下的项目部署及运维. 以下版本为讲解示例,可自行改至匹配版本. 服务器:window service2008 R2 Stan ...

随机推荐

  1. [BZOJ 5415] 归程

    一棵KrusKal重构树,然而我数组开小了,忘记清空一个标记 洛谷传送门 BZOJ传送门 ......好像成权限题了Orz 回顾我们用KrusKal做生成树的时候,我们将边排序后连通各个连通块,那么边 ...

  2. Dear friends:

      To realize the value of ONE YEAR想知道一整年的价值ask the student who has failed a class就去问被当过的学生To realize ...

  3. [转] 利用dockerize模板为容器内应用生成配置文件和环境变量

    [FROM] https://blog.csdn.net/liucaihong123/article/details/51945413 首先试验一下dockerize的可用性: 最近一个docker容 ...

  4. [转] Spring Boot配置多个DataSource

    [From]  https://www.liaoxuefeng.com/article/001484212576147b1f07dc0ab9147a1a97662a0bd270c20000 Sprin ...

  5. drf之视图案例

    views.py from django.shortcuts import render # Create your views here. from rest_framework.generics ...

  6. H5常见问题 微信踩过得坑

    微信页面内 click事件 只在a链接的时候有效,如果是div或者span之类  一定要加上样式 cursor:pointer 点击事件才生效. <div style="cursor: ...

  7. 第十七章:使用media插件来播放声音

    前面已经讲过如何基于push notification自定义sound,但是还是存在几个问题: IOS app在前台运行的时候,如何播放sound?因为这个时候push notification是不起 ...

  8. ClouderManger搭建大数据集群时ERROR 2003 (HY000): Can't connect to MySQL server on 'ubuntucmbigdata1' (111)的问题解决(图文详解)

    问题详情 相关问题的场景,是在我下面的这篇博客里 Cloudera Manager安装之利用parcels方式(在线或离线)安装3或4节点集群(包含最新稳定版本或指定版本的安装)(添加服务)(Ubun ...

  9. pat09-散列3. Hashing - Hard Version (30)

    09-散列3. Hashing - Hard Version (30) 时间限制 200 ms 内存限制 65536 kB 代码长度限制 8000 B 判题程序 Standard 作者 HE, Qin ...

  10. 7、侧边栏:Menu

    1.单个侧边栏 导航的代码在分析源码的时候已经分析过了,下面只看他的一些应用与方法. /* ---示例代码----*/ <ion-menu [content]="mycontent&q ...