flask之旅: 开发前环境准备

栏目: Python · 发布时间: 7年前

内容简介:Flask是非常流行的Python Web框架,流行的主要原因有:Falsk主要依赖三个库:

Flask是非常流行的Python Web框架,流行的主要原因有:

- 文档齐全, 上手快
- 本身内核足够精简, 有非常好的扩展机制和第三方扩展环境(熟悉node的童鞋类比Express/Koa)
- 社区活跃度高
- 开发者自由有很大的选择空间
复制代码

Falsk主要依赖三个库:

- Jinja2: 默认的模班引擎
- Werkzeug: 一个包含WSGI, 路由, 调试的 工具 集
- Itsdangerous: 基于Django的签名模块

复制代码

安装Python

正确的安装python

安装pyenv

Python版本管理神器-pyenv

安装pipenv

pipenv被誉为新一代 Python 项目环境与依赖管理工具。

flask的最小应用

想看英文文档的可以阅读 Basic Usage of Pipenv

  • 创建一个工作目录, 使用pipenv shell.
  • 安装flask, 通过pipenv install flask
  • pycharm基本配置
这里主要是配置你的开发环境, 你需要配置对应项目的解释器
复制代码
flask之旅: 开发前环境准备
  • 项目的目录结构以及最小的flask应用
flask之旅: 开发前环境准备
# 导入Flask类, 该类的实例作为我们的WSGI应用
from flask import Flask

# 创建实例, 传入应用模块名字或者包名, 这个参数是必须的
# 一般传入__name__来确定程序的根目录
app = Flask(__name__)

# 通过路由装饰器, 把路由与视图进行映射
@app.route('/')
def hello_world():
    return 'Hello, World!'

# 如果是其他文件引用该模块文件是不会执行app.run()
if __name__ == '__main__':
    app.run()

复制代码

启动之后你在浏览器能看到:

flask之旅: 开发前环境准备

值得注意的是,默认的app.run启动服务后, Flask只会监听虚拟机的本地127.0.0.1这个地址, 端口为5000。 这个时候我们用ip去访问是会报错的,所以我们最好修改下host, port。

你去查看app.run()的源代码可以看到:

def run(self, host=None, port=None, debug=None,
            load_dotenv=True, **options):
复制代码

所以我们只需要这样改:

# 0.0.0.0表示监听所有地址, 这样其他电脑就可以访问你的程序了。
if __name__ == '__main__':
    app.run(host='0.0.0.0', port='9999')
复制代码

调试模式

上面源码中我们发现还可以传递一个debug选项, 相信大多数人应该猜到了调试。 是的设置debug为True, 即开启调试模式。

开启调试模式有如下好处:

  1. 服务器在代码修改后自动重新载入(node有nodemon)
  2. 发生错误时会提供一个获得错误上下文执行代码的调试页面

开启调试模式的方法有:

# 在应用对象上设置
app.debug = True

# 作为run参数传入
app.run(debug=True)
复制代码

值得注意的是调试模式仅用于开发环境, 生产环境我们一般使用Nginx+uWSGI。


以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持 码农网

查看所有标签

本站部分资源来源于网络,本站转载出于传递更多信息之目的,版权归原作者或者来源机构所有,如转载稿涉及版权问题,请联系我们

新媒体十讲

新媒体十讲

范卫锋 / 中信出版社 / 2015-8 / 38.00元

“新媒体参谋长”范卫锋解答:媒体人如何转型?怎么创业?如何看准新媒体项目进行投资? 作为“新媒体的参谋长”,本书作者范卫锋将十余年从业亲历的经验教训、行业内幕串联成册,从定位、突破、扩张、商业模式、价值几个方面剖析新媒体策略,解密国内媒体圈转型、创业、投资的实操法则。案例信手拈来,观点鞭辟入里,打造出国内第一本由专业新媒体投资人撰写的新媒体实战兵法,涉及媒体人转型、新媒体实操、媒体公关营销、......一起来看看 《新媒体十讲》 这本书的介绍吧!

RGB转16进制工具
RGB转16进制工具

RGB HEX 互转工具

RGB HSV 转换
RGB HSV 转换

RGB HSV 互转工具

HEX HSV 转换工具
HEX HSV 转换工具

HEX HSV 互换工具