1. 代码管理

1.1 创建仓库

github 上创建仓库:flask-vuejs-madblog,并选择开源协议为 MIT License(也可以选择 gitee,速度快一些比之 github)。

克隆仓库到本地

# 找一个地址,打开 Git Bash

cd F:\My Projects\

git clone https://gitee.com/hubery_jun/flask-vuejs-madblog

1.2 创建分支

创建 dev 分支,以后都在这个分支上进行开发:

$ git checkout - b dev # 创建 dev 分支

$ git branch# 查看当前分支

* dev

master

2. 项目配置

配置 Python 虚拟环境

# 打开 cmd

# 新建虚拟环境 flask-vuejs

mkvirtualenv -p C:\Python36\python36.exe flask-vuejs

# 安装 flask

pip install flask

# 切换到仓库所在位置,新建 flask 项目

(flask-vuejs) F:\Envs>cd F:\My Projects\flask-vuejs-madblog\

(flask-vuejs) F:\Envs>mkdir back-end# 其中 back-end 为 flask 项目文件

(flask-vuejs) F:\My Projects\flask-vuejs-madblog\> cd back-end

# 生成 requirements.txt

(flask-vuejs) F:\My Projects\flask-vuejs-madblog\back-end>pip freeze > requirements.txt

配置 .gitignore 文件

打开 Git Bash :

# 新建 .gitignore 文件

hj@DESKTOP-JUS39UG MINGW32 /f/My Projects/flask-vuejs-madblog/back-end (dev)

$ vim .gitignore

# 内容如下

.idea/

__pycache__/

venv/

.env

app.db

madblog.log*

项目结构

back-end:.

├─app# 应用

│ ├─api# api 接口

│ │ └─__init__.py

│ │ └─ping.py

│ └─__init__.py

└─.env# 系统环境变量

└─.gitignore# 忽略文件

└─config.py# 配置文件

└─madblog.py# 启动文件

└─requirements.txt# 项目依赖包

2.1 应用工厂

使用 pycharm 打开 back-end/ 项目,创建包文件 app,编辑 app/__init__.py:

from flask import Flask

from config import Config

def create_app(config_class=Config):

app = Flask(__name__)

app.config.from_object(config_class)

# 注册蓝图 blueprint

from app.api import bp as api_bp

app.register_blueprint(api_bp, url_prefix="/api")

return app

其作用是:加载配置文件,注册蓝图

2.2 API 蓝图

蓝图的作用类似于 Django APP,可以区分不同的应用(路由);创建包文件:app/api,编辑 app/api/__init__.py:

from flask import Blueprint

bp = Blueprint('api', __name__)

# 写在最后是为了防止循环导入,ping.py文件也会导入 bp

from app.api import ping

新建第一个视图函数 app/api/ping.py:

from flask import jsonify

from app.api import bp

@bp.route('/ping', methods=['GET'])

def ping():

"""测试 API 是否通"""

return jsonify('Test API pass!')

2.3 启动文件

新建 back-end/madblog.py,用于启动应用工厂函数:

from app import create_app

app = create_app()

2.4 配置文件

新建 back-end/config.py:

import os

from dotenv import load_dotenv

basedir = os.path.abspath(os.path.dirname(__file__))

load_dotenv(os.path.join(basedir, '.env'), encoding='utf-8')

class Config(object):

pass

注意到我们这里有使用到 .env 系统环境变量,我们将使用 dotenv 模块来读取环境变量信息,先安装这个包:

pip install dotenv

pip freeze > requirements.txt

新建 back-end/.env 文件:

FLASK_APP=madblog.py

FLASK_DEBUG=1

2.5 启动项目

使用 pycharm 启动项目,也可以在终端执行:flask run,测试 api 是否畅通,访问:http://127.0.0.1:5000/api/ping。

3. 提交代码

合并分支并提交

$ git add .

$ git commit -m "1. 后端 Flask 测试接口"

# 以上操作都是在 dev 分支,现在切换到 master 分支(合并分支前必须切换到别的分支)

$ git checkout master

$ git branch# 查看当前分支

$ git merge dev# 合并分支(将 dev 合并到 master)

$ git branch -d dev# 删除 dev 分支

# 提交

$ git push -u origin master

打标签

打标签的目的与 commit 的道理相似,就是给当前版本做一个标记,以便回退到此版本;有时使用 commit-sha1,大家都记不住那条冗长的 sha1码,所以用tag标签来做记录:

$ git tag v0.1# 打标签

$ git tag# 查看当前标签

v0.1

# 查看某个标签的内容

$ git show v0.1

# 将标签推到远程(单个)

$ git push origin v0.1

同步所有标签:

git push --tags

# 或者

git push origin --tags

python flask 分页前后端分离_【flask + vue 前后端分离博客】创建第一个 Flask RESTFul(一)...相关推荐

  1. com编程创建快捷方式中文_如何以编程方式为博客创建wordcloud?

    com编程创建快捷方式中文 Recently, I was in need of an image for our blog and wanted it to have some wow effect ...

  2. 轻量版 markdown博客_如何快速搭建自己的博客平台

    如何快速搭建自己的博客平台 对于一个程序员来说,搭建一个属于自己的博客平台是非常有意义的事情.首先,博客可以记录自己的成长历程,也是对自己一段时间学习和工作的总结和沉淀:其他,通过博客可以营销自己,增 ...

  3. java用正则表达式判断字符串中是否仅包含英文字母、数字和汉字_灵思致远Leansmall的博客-CSDN博客_java判断字符串只包含数字字母

    import java.util.regex.Matcher; import java.util.regex.Pattern;public class StrValidate {// 纯数字priva ...

  4. 关于PYTHON里SUPER使用时报的typeerror错误 - dongua的日志 - 网易博客

    关于PYTHON里SUPER使用时报的typeerror错误 - dongua的日志 - 网易博客 关于PYTHON里SUPER使用时报的typeerror错误 2009-08-25 17:16:08 ...

  5. java毕业设计项目_第167期ssm多用户博客个人网站_计算机毕业设计

    java毕业设计项目_第167期ssm多用户博客个人网站_计算机毕业设计 [源码请到资源专栏下载] 今天分享的项目是<ssm多用户博客个人网站> 该项目分为2个角色,管理员和用户. 用户可 ...

  6. 2.2.2 胸腰差和胸臀差的应用_米人NOONE_新浪博客

    2.2.2 胸腰差和胸臀差的应用_米人NOONE_新浪博客 2.2.2  胸腰差和胸臀差的应用_米人NOONE_新浪博客 腰差和胸臀差的应用 (2009-06-16 19:24:57) 转载▼ 标签: ...

  7. 为什么ajax请求进不来后端路由_为什么要前后端分离?前后端分离的优点是什么?...

    随着互联网的高速发展以及IT开发技术的升级,前后端分离已成为互联网项目开发的业界标准使用方式.在实际工作中,前后端的接口联调对接工作量占HTML5大前端人员日常工作的30%-50%,甚至会更高.接下来 ...

  8. springboot jwt token前后端分离_为什么要 前后端分离 ?

    作 者:互扯程序 来 源:互扯程序 广而告之:由于此订阅号换了个皮肤,系统自动取消了读者的公众号置顶.导致用户接受文章不及时.您可以打开订阅号,选择置顶(星标)公众号,重磅干货,第一时间送达! 本文知 ...

  9. shiro前后端分离_为什么要前后端分离?前后端分离的优点是什么?

    随着互联网的高速发展以及IT开发技术的升级,前后端分离已成为互联网项目开发的业界标准使用方式.在实际工作中,前后端的接口联调对接工作量占HTML5大前端人员日常工作的30%-50%,甚至会更高.接下来 ...

  10. java web的动静分离_如何做前后端动静分离

    我们的 ERP 系统就是前后端完全分离,毫无关联. 后端用的是改造的 Laravel 框架,将业务拆分.路由拆分,来分离后端复杂的权限验证,同时对外依旧是简单明确的 RESTful API. 前端采用 ...

最新文章

  1. 应用SilverLight 2.0 BETA 2的 支持回调的在线聊天室(二)
  2. js 获取表格数据(表单变量值)
  3. java新建配置文件_使用Java输出字符流FileWriter创建配置文件
  4. jquery中怎么删除ul中的整个li包括节点
  5. 【入门6】函数与结构体(今天刷洛谷了嘛)
  6. 期刊投稿状态_这些SCI期刊的投稿显示状态是什么意思?
  7. java 解析数据包_一种基于Java语言的网络通讯数据包解析方法与流程
  8. 【经典算法】——KMP,深入讲解next数组的求解
  9. 翻译: TensorFlow 2.0 中的新功能
  10. 计算机证英语四六级证驾驶证,学校毕业要求有两个技能证书,计算机二级,四六级,到底算不算技能证?...
  11. 做PO难,难于上青天
  12. K均值 - 案例实现(python)
  13. 手机摄像头模组涉及的领域以及镜头的选择
  14. JS 手机浏览器唤醒手机QQ
  15. 用矩阵表示图形旋转缩放变换
  16. ThinkPHP V5.0.5漏洞_Google Chrome谷歌浏览器V80.0.3987.122离线安装包
  17. msi和exe安装文件有什么区别
  18. 【JAVA】8.5.1内部购物券
  19. 程序人生 | (2) 中科院自动化所认定国际学术会议及国内期刊
  20. java进行抽奖_简单实现java抽奖系统

热门文章

  1. Django模板:过滤器
  2. 为什么oracle的环境这么复杂_(草稿)兽医执业环境为什么如此复杂?这次我们谈谈需求...
  3. wpf 切换搜狗输入法英文_CPA《财管》考试,没时间按计算器,用搜狗V模式,真香!...
  4. c语言程序.cpp文件,[轉]C语言程序设计基础之文件
  5. rpm安装mysql
  6. 计算机操作系统教程讲解视频,计算机操作系统(54集)全套教学视频
  7. python教程400集笔记,Python学习中的笔记--集合相关,python笔记--集合
  8. java test20006_java 数组 (数组个数小于2000)
  9. Pyqt5:使用多线程QThread
  10. OpenShift 4 - 锁定被保护的 OpenShift 资源,禁止删除和修改操作