Blog 项目源码:https://github.com/JmilkFan/JmilkFan-s-Blog

目录

  • 目录
  • 前文列表
  • 扩展阅读
  • 实现最简单的 Flask 应用
    • 创建 config.py 文件
    • 创建 main.py 文件
  • 使用 Flask Script
    • 创建 manage.py 文件
    • 使用 manage 来运行开发环境服务器
    • 确保 manage 的上下本中导入了 app 对象
  • 使用浏览器来访问 Flask 应用

前文列表

用 Flask 来写个轻博客 (1) — 创建项目

扩展阅读

Flask 扩展

实现最简单的 Flask 应用

创建 config.py 文件

该文件是整个 Flask 应用程序的配置文件,定义我们常用的配置类 Config/ProdConfig/DevConfig

class Config(object):"""Base config class."""passclass ProdConfig(Config):"""Production config class."""passclass DevConfig(Config):"""Development config class."""# Open the DEBUGDEBUG = True

创建 main.py 文件

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

from flask import Flask
from config import DevConfigapp = Flask(__name__)# Get the config from object of DecConfig
# 使用 onfig.from_object() 而不使用 app.config['DEBUG'] 是因为这样可以加载 class DevConfig 的配置变量集合,而不需要一项一项的添加和修改。
app.config.from_object(DevConfig)# 指定 URL='/' 的路由规则
# 当访问 HTTP://server_ip/ GET(Default) 时,call home()
@app.route('/')
def home():return '<h1>Hello World!</h1>'if __name__ == '__main__':# Entry the application app.run()

使用 Flask Script

flask-script 是 Flask 的一个扩展,它能够创建指令,并且让这些指令在 Flask 的应用上下文中执行,可以达到修改 Flask 对象的目的。
除此之外,flask-script 还能够启动 Flask 开发环境服务器,和开启包含有应用上下文的 Python 指令行。

(env) [root@flask-dev JmilkFan-s-Blog]# pip install flask-script
(env) [root@flask-dev JmilkFan-s-Blog]# pip freeze > requirements.txt

NOTE: 当我们需要安装一个支持 Flask 应用的软件时,我们都应该进入到 virtualenv 中,并且将新安装的软件记录到 requirements.txt 文件中。

创建 manage.py 文件

# import Flask Script object
from flask.ext.script import Manager, Server
import main# Init manager object via app object
manager = Manager(main.app)# Create a new commands: server
# This command will be run the Flask development_env server
manager.add_command("server", Server())@manager.shell
def make_shell_context():"""Create a python CLI.return: Default import objecttype: `Dict`"""# 确保有导入 Flask app object,否则启动的 CLI 上下文中仍然没有 app 对象return dict(app=main.app)if __name__ == '__main__':manager.run()

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

使用 manage 来运行开发环境服务器

[root@flask-dev JmilkFan-s-Blog]# python manage.py server
/usr/lib/python2.7/site-packages/flask/exthook.py:71: ExtDeprecationWarning: Importing flask.ext.script is deprecated, use flask_script instead..format(x=modname), ExtDeprecationWarning* Running on http://127.0.0.1:5000/ (Press CTRL+C to quit)* Restarting with stat
/usr/lib/python2.7/site-packages/flask/exthook.py:71: ExtDeprecationWarning: Importing flask.ext.script is deprecated, use flask_script instead..format(x=modname), ExtDeprecationWarning* Debugger is active!* Debugger pin code: 338-883-928

确保 manage 的上下本中导入了 app 对象

[root@flask-dev JmilkFan-s-Blog]# python manage.py shell
/usr/lib/python2.7/site-packages/flask/exthook.py:71: ExtDeprecationWarning: Importing flask.ext.script is deprecated, use flask_script instead..format(x=modname), ExtDeprecationWarningIn [1]: app
Out[1]: <Flask 'main'> In [2]: type(app)
Out[2]: flask.app.Flask  # app 对象就是 class flask.app.Flask  的实例化对象

使用浏览器来访问 Flask 应用

用 Flask 来写个轻博客 (2) — Hello World!相关推荐

  1. 用 Flask 来写个轻博客 (37) — 在 Github 上为第一阶段的版本打 Tag

    Blog 项目源码:https://github.com/JmilkFan/JmilkFan-s-Blog 目录 目录 前文列表 第一阶段结语 打 Tag 前文列表 用 Flask 来写个轻博客 (1 ...

  2. 用 Flask 来写个轻博客 (36) — 使用 Flask-RESTful 来构建 RESTful API 之五

    Blog 项目源码:https://github.com/JmilkFan/JmilkFan-s-Blog 目录 目录 前文列表 PUT 请求 DELETE 请求 测试 对一条已经存在的 posts ...

  3. 用 Flask 来写个轻博客 (35) — 使用 Flask-RESTful 来构建 RESTful API 之四

    Blog 项目源码:https://github.com/JmilkFan/JmilkFan-s-Blog 目录 目录 前文列表 POST 请求 身份认证 测试 前文列表 用 Flask 来写个轻博客 ...

  4. 用 Flask 来写个轻博客 (34) — 使用 Flask-RESTful 来构建 RESTful API 之三

    Blog 项目源码:https://github.com/JmilkFan/JmilkFan-s-Blog 目录 目录 前文列表 应用请求中的参数实现 API 分页 测试 前文列表 用 Flask 来 ...

  5. 用 Flask 来写个轻博客 (33) — 使用 Flask-RESTful 来构建 RESTful API 之二

    Blog 项目源码:https://github.com/JmilkFan/JmilkFan-s-Blog 目录 目录 前文列表 扩展阅读 构建 RESTful Flask API 定义资源路由 格式 ...

  6. 用 Flask 来写个轻博客 (32) — 使用 Flask-RESTful 来构建 RESTful API 之一

    Blog 项目源码:https://github.com/JmilkFan/JmilkFan-s-Blog 目录 目录 前文列表 扩展阅读 RESTful API REST 原则 无状态原则 面向资源 ...

  7. 用 Flask 来写个轻博客 (31) — 使用 Flask-Admin 实现 FileSystem 管理

    Blog 项目源码:https://github.com/JmilkFan/JmilkFan-s-Blog 目录 目录 前文列表 扩展阅读 编写 FileSystem Admin 页面 Flask-A ...

  8. 用 Flask 来写个轻博客 (30) — 使用 Flask-Admin 增强文章管理功能

    Blog 项目源码:https://github.com/JmilkFan/JmilkFan-s-Blog 目录 目录 前文列表 扩展阅读 实现文章管理功能 实现效果 前文列表 用 Flask 来写个 ...

  9. 用 Flask 来写个轻博客 (29) — 使用 Flask-Admin 实现后台管理 SQLAlchemy

    Blog 项目源码:https://github.com/JmilkFan/JmilkFan-s-Blog 目录 目录 前文列表 扩展阅读 Flask-Admin BaseView 基础管理页面 Mo ...

  10. 用 Flask 来写个轻博客 (28) — 使用 Flask-Assets 压缩 CSS/JS 提升网页加载速度

    Blog 项目源码:https://github.com/JmilkFan/JmilkFan-s-Blog 目录 目录 前文列表 扩展阅读 Flask-Assets 将 Flask-Assets 应用 ...

最新文章

  1. 【Pytorch】运用英伟达DALI加速技巧可使PyTorch运算速度快4倍
  2. php 检测密码,php检测密码强度
  3. xcode:关于Other Linker Flags
  4. SAP 前端技术的演化史简介
  5. redis集群搭建报错-(error) CLUSTERDOWN The cluster is down
  6. Oracle-一个中文汉字占几个字节?
  7. Java语言中的----数组
  8. 重磅快讯:CCF发布最新版推荐中文科技期刊目录
  9. nginx配置不记录指定文件类型日志
  10. map-side-join inspark
  11. Word 2010/2013 菜单栏添加 MathType 菜单
  12. 我看Asp.Net控件(三)
  13. ATT与intel汇编格式区分
  14. 生成条形码二维码DataMatrix条码.EAN码.39码.交叉25码.UPC码.128码.93码.ISBN码.Codabar等
  15. 代码审计工具之Fortify安装以及初步使用
  16. java编程用什么文本编辑器_编程必备,程序员应该都知道的7款文本编辑器
  17. php kindeditor远程图片上传,KindEditor远程跨域上传的实现
  18. Vlmcsd: 自建 KMS 激活服务器
  19. 程序员的幽默笑话(深意爆笑)
  20. Flume采集数据利器

热门文章

  1. iOS 获取当前设备型号iPhone7/iPhone7P
  2. Nature子刊:皮层内脑机接口的主导感
  3. BrainNet:脑-脑接口用于人与人之间直接协作
  4. 一种灵活,坚固且无凝胶的脑电图电极,可用于无创脑机接口
  5. java I/O
  6. 用Php设置Iptables,如何使用CSF添加自定义iptables规则
  7. 人均奖金300万,2021年“科学探索奖”名单揭晓:高会军周昆上榜,女性获奖人8位创纪录...
  8. MIT华人博士研究新冠遭学术霸凌!斯坦福诺奖得主:“你论文少,别说话!”...
  9. 如何用虚幻引擎4和C++开发游戏?斯坦福相关课程上线
  10. 英特尔CPU机密数据大量泄露:芯片后门实锤,下一代CPU原理图曝光