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
- 在 Web 应用程序开发中引入了 Models 为了 —— 将关系型数据转化为一个对象类型
- SQLAlchemy 是一个 Python 包,其最底层包装了对数据库进入操作的统一接口,然后在最上层提供了对象关系映射(ORM)的实现。
- SQLAlchemy-ORM 可以把大量的不同类型的数据库中的数据,转换成 Python 对象的集合。即SQLAlchemy-ORM 可以将对这些数据对象的操作转化为对数据库的操作。
- Flask 为我们提供了 Flask SQLAlchemy,其实就是在 SQLAlchemy 上提供了一层包装,让 SQLAlchemy 可以结合 Flask 的一些特性来使用。
低调大师中文资讯倾力打造互联网数据资讯、行业资源、电子商务、移动互联网、网络营销平台。
持续更新报道IT业界、互联网、市场资讯、驱动更新,是最及时权威的产业资讯及硬件资讯报道平台。
转载内容版权归作者及来源网站所有,本站原创内容转载请注明来源。
- 上一篇
1.全栈工程师Python基础
Python基础¶ Python概述 计算机语言概述 语言: 交流的工具,沟通媒介 计算机语言: 人跟计算机交流工具,翻译官 Python是计算机语言里的一种 Python编程语言 代码: 人类语言,通过代码命令机器,跟机器交流 Python解析器: 就是那个担任翻译官工作的 流程: 写代码 执行: 由翻译官(Python解析器)把命令(Code) 翻译给机器, Python 简史 1989年, Guido van Rossum 2014: 宣布2.7支持到2020 2017: AI 元年, Pyhton崛起 Python特点: 速度问题 Python的应用领域 全能 设计哲学: 平衡发展,样样通,简洁明了 Python 为什么这么火 环境问题 anaconda+pycharm python3.6 环境 学习环境: 直播课: 网易云课堂 讲义+代码: github 教科书: gitbook 工作环境 环境安装: gitbook上有 http://www.cnblogs.com/zhouzhishuai/p/8401103.html 操作系统 windows Linux 我们的标准系统:...
- 下一篇
前端的水平线,错误处理和调试
本章内容 理解浏览器报告的错误 处理错误 调试JavaScript代码 错误处理 错误处理在程序设计中的重要性是一定的。任何有影响力的Web应用程序都需要一套完善的错误处理机制。 try-catch语句 try { // 可能会导致错误的代码 } catch (e) { // 在错误发生时怎么处理 } 错误类型 执行代码期间可能会发生的错误有多种类型。每种错误都有对应的错误类型,而当错误发生时,就会抛出相应类型的错误对象。 ECMA-262定义了下列7种错误类型: Error EvalError RangeError SyntaxError ReferenceError TypeError URIError RangeError类型的错误在数值超出相应范围时触发: try { let items1 = new Array(-20); var items2 = new Array(Number.MAX_VALUE); } catch (e) { console.dir(e) } 在找不到对象的情况下,会发生ReferenceError(这种情况下,会直接导致人所共知的“object ex...
相关文章
文章评论
共有0条评论来说两句吧...
文章二维码
点击排行
推荐阅读
最新文章
- CentOS7,8上快速安装Gitea,搭建Git服务器
- SpringBoot2整合MyBatis,连接MySql数据库做增删改查操作
- Docker安装Oracle12C,快速搭建Oracle学习环境
- Windows10,CentOS7,CentOS8安装Nodejs环境
- Springboot2将连接池hikari替换为druid,体验最强大的数据库连接池
- CentOS7,CentOS8安装Elasticsearch6.8.6
- CentOS8安装Docker,最新的服务器搭配容器使用
- 设置Eclipse缩进为4个空格,增强代码规范
- CentOS7安装Docker,走上虚拟化容器引擎之路
- CentOS7设置SWAP分区,小内存服务器的救世主