用 Flask 来写个轻博客 (2) — Hello World!
Blog 项目源码:https://github.com/JmilkFan/JmilkFan-s-Blog
目录
前文列表
扩展阅读
实现最简单的 Flask 应用
创建 config.py 文件
该文件是整个 Flask 应用程序的配置文件,定义我们常用的配置类 Config/ProdConfig/DevConfig 。
class Config(object):
"""Base config class."""
pass
class ProdConfig(Config):
"""Production config class."""
pass
class DevConfig(Config):
"""Development config class."""
# Open the DEBUG
DEBUG = True
创建 main.py 文件
该文件是 Flask 应用的核心,也是程序的入口
from flask import Flask
from config import DevConfig
app = 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 object
type: `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), ExtDeprecationWarning
In [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!的更多相关文章
- 用 Flask 来写个轻博客
用 Flask 来写个轻博客 用 Flask 来写个轻博客 (1) — 创建项目 用 Flask 来写个轻博客 (2) — Hello World! 用 Flask 来写个轻博客 (3) — (M)V ...
- 用 Flask 来写个轻博客 (37) — 在 Github 上为第一阶段的版本打 Tag
Blog 项目源码:https://github.com/JmilkFan/JmilkFan-s-Blog 目录 目录 前文列表 第一阶段结语 打 Tag 前文列表 用 Flask 来写个轻博客 (1 ...
- 用 Flask 来写个轻博客 (36) — 使用 Flask-RESTful 来构建 RESTful API 之五
目录 目录 前文列表 PUT 请求 DELETE 请求 测试 对一条已经存在的 posts 记录进行 update 操作 删除一条记录 前文列表 用 Flask 来写个轻博客 (1) - 创建项目 用 ...
- 用 Flask 来写个轻博客 (35) — 使用 Flask-RESTful 来构建 RESTful API 之四
Blog 项目源码:https://github.com/JmilkFan/JmilkFan-s-Blog 目录 目录 前文列表 POST 请求 身份认证 测试 前文列表 用 Flask 来写个轻博客 ...
- 用 Flask 来写个轻博客 (34) — 使用 Flask-RESTful 来构建 RESTful API 之三
目录 目录 前文列表 应用请求中的参数实现 API 分页 测试 前文列表 用 Flask 来写个轻博客 (1) - 创建项目 用 Flask 来写个轻博客 (2) - Hello World! 用 F ...
- 用 Flask 来写个轻博客 (33) — 使用 Flask-RESTful 来构建 RESTful API 之二
Blog 项目源码:https://github.com/JmilkFan/JmilkFan-s-Blog 目录 目录 前文列表 扩展阅读 构建 RESTful Flask API 定义资源路由 格式 ...
- 用 Flask 来写个轻博客 (32) — 使用 Flask-RESTful 来构建 RESTful API 之一
目录 目录 前文列表 扩展阅读 RESTful API REST 原则 无状态原则 面向资源 RESTful API 的优势 REST 约束 前文列表 用 Flask 来写个轻博客 (1) - 创建项 ...
- 用 Flask 来写个轻博客 (31) — 使用 Flask-Admin 实现 FileSystem 管理
Blog 项目源码:https://github.com/JmilkFan/JmilkFan-s-Blog 目录 目录 前文列表 扩展阅读 编写 FileSystem Admin 页面 Flask-A ...
- 用 Flask 来写个轻博客 (30) — 使用 Flask-Admin 增强文章管理功能
Blog 项目源码:https://github.com/JmilkFan/JmilkFan-s-Blog 目录 目录 前文列表 扩展阅读 实现文章管理功能 实现效果 前文列表 用 Flask 来写个 ...
- 用 Flask 来写个轻博客 (29) — 使用 Flask-Admin 实现后台管理 SQLAlchemy
目录 目录 前文列表 扩展阅读 Flask-Admin BaseView 基础管理页面 ModelView 实现效果 前文列表 用 Flask 来写个轻博客 (1) - 创建项目 用 Flask 来写 ...
随机推荐
- 汇编学习(1)——win7 64位调出debug
一.安装方法: 1.下载一个dosbox和win7 32位debug.exe,安装dosbox,打开页面 2. 将debug.exe放入磁盘根目录,这里以D盘为例.在dosbox中输入mount ...
- redis shell命令
APPEND key value追加一个值到key上 AUTH password验证服务器 BGREWRITEAOF异步重写追加文件 BGSAVE异步保存数据集到磁盘上 BLPOP key [key ...
- 重写__eq__函数——对象list中使用in index()——获得list中不同属性对象个数
https://blog.csdn.net/anlian523/article/details/80868961
- laravel定义全局变量
laravel中config()函数可以获取 bootstrap/cache/config.php中的内容,而config文件夹下的所有配置文件夹中的内容可以通过 php artisan confi ...
- 运维 04 Shell基础命令(二)
Shell基础命令(二) 查看Linux的发行版 cat /etc/redhat-release cat /etc/os-release 查看系统用户的id信息 id 用户名 id root id ...
- upc组队赛5 Ground Defense【枚举】
Ground Defense 题目描述 You are a denizen of Linetopia, whose n major cities happen to be equally spaced ...
- 基于MFC的Media Player播放器的制作(1---播放器界面的布局)
| 版权声明:本文为博主原创文章,未经博主允许不得转载. 通过上面的一些预备知识,我们现在就可以自己来制作基于MFC的播放器了,接下来我们讲的是使用MFC制作我们播放器 的界面. 首先,我们我们打 ...
- Linux NIO 系列(04-3) epoll
目录 一.why epoll 1.1 select 模型的缺点 1.2 epoll 模型优点 二.epoll API 2.1 epoll_create 2.2 epoll_ctl 2.3 epoll_ ...
- axios interceptors 拦截 , 页面跳转, token 验证 Vue+axios实现登陆拦截,axios封装(报错,鉴权,跳转,拦截,提示)
Vue+axios实现登陆拦截,axios封装(报错,鉴权,跳转,拦截,提示) :https://blog.csdn.net/H1069495874/article/details/80057107 ...
- Spring Enable高级应用及原理
Enable* 之前的文章用到了一些Enable*开头的注解,比如EnableAsync.EnableScheduling.EnableAspectJAutoProxy.EnableCaching等, ...