Python Flask学习笔记之Hello World

安装virtualenv,配置Flask开发环境

virtualenv

虚拟环境是Python解释器的一个私有副本,在这个环境中可以安装私有包,而且不会影响系统中安装到全局Python解释器。虚拟环境非常有用,可以在系统的Python解释器中避免包的混乱和版本的冲突,为每个程序单独创建虚拟环境,可以保证程序只能访问虚拟环境中的包从而保持全局解释器的干净整洁。

  • 安装
sudo apt-get install python-virtualenv
  • 创建项目目录
mkdir Blog ; cd Blog
  • 查看版本
virtualenv --version
  • 命名项目的虚拟环境
virtualenv venv
  • 指定python版本
virtualenv -p /usr/bin/python2 virtualenv‘s name
  • 激活虚拟环境
. venv/bin/activate

环境激活后命令提示符发生改变(venv) $

  • 退出虚拟环境
deactivate

编写Hello World

from flask import Flask
app = Flask(__name__) @app.route('/')
def hello_world():
return 'Hello World!' if __name__ == '__main__':
app.run()

运行结果如下

 * Serving Flask app "hello" (lazy loading)
* Environment: production
WARNING: Do not use the development server in a production environment.
Use a production WSGI server instead.
* Debug mode: off
* Running on http://127.0.0.1:5000/ (Press CTRL+C to quit)

上面使用Flask官方文档demo

  • 初始化
from flask import Flask
app = Flask(__name__)

首先导入了类Flask,第一个参数是应用模块的名称。如果使用的是单一的模块,第一个参数应该使用 __name__

  • 路由和视图函数
@app.route('/')
def hello_world():
return 'Hello World!'

程序实例需要知道对每个URL请求运行哪些代码,所以保存了一个URLPython函数到映射关系。处理URL和函数之间关系的程序成为路由。Flask使用程序实例提供到app.route修饰器,把修饰的函数注册为路由。接下来定义一个函数,该函数名也是用来给特定函数生成URL,并且返回我们想要显示在用户浏览器上的信息。

  • 启动服务器
if __name__ == '__main__':
app.run()

最后我们用函数run()启动本地服务器来运行我们的应用。if __name__ == '__main__':确保服务器只会在该脚本被Python解释器直接执行的时候才会运行,而不是作为模块导入的时候。

改写程序,输出Hello Mark

创建应用工程目录

mkdir app

app目录下创建文件__init__.pyroutes.pymanage.py。在Python程序中,包含__init__.py文件的子目录被视为一个可导入的包。routes.py定义视图函数的代码。manage.py导入应用程序实例。

# __init__.py
from flask import Flask app = Flask(__name__) from app import routes # routes.py
from app import app @app.route('/')
@app.route('/index')
def index():
return "Hello, World!"
@app.route('/user/<name>')
def user(name):
return '<h1>Hello, %s</h1>' % name manage.py
from app import app

设置FLASK_APP环境变量

export FLASK_APP=manage.py

程序目录

Project
venv
app
__init__.py
routes.py
manage.py

运行

参考文档:

http://flask.pocoo.org/

http://www.pythondoc.com/flask/index.html

Python Flask学习笔记之Hello World的更多相关文章

  1. Python Flask学习笔记之模板

    Python Flask学习笔记之模板 Jinja2模板引擎 默认情况下,Flask在程序文件夹中的templates子文件夹中寻找模板.Flask提供的render_template函数把Jinja ...

  2. Python Flask学习笔记(1)

    1.搭建虚拟环境 a. 安装 virtualenv : pip3 install virtualenv b. 建立虚拟环境 : 任意目录下建立一个空文件(我的是 Py_WorkSpace) ,在该文件 ...

  3. Python Click 学习笔记(转)

    原文链接:Python Click 学习笔记 Click 是 Flask 的团队 pallets 开发的优秀开源项目,它为命令行工具的开发封装了大量方法,使开发者只需要专注于功能实现.恰好我最近在开发 ...

  4. 【原】Learning Spark (Python版) 学习笔记(三)----工作原理、调优与Spark SQL

    周末的任务是更新Learning Spark系列第三篇,以为自己写不完了,但为了改正拖延症,还是得完成给自己定的任务啊 = =.这三章主要讲Spark的运行过程(本地+集群),性能调优以及Spark ...

  5. 0003.5-20180422-自动化第四章-python基础学习笔记--脚本

    0003.5-20180422-自动化第四章-python基础学习笔记--脚本 1-shopping """ v = [ {"name": " ...

  6. 获取字段唯一值工具- -ArcPy和Python案例学习笔记

    获取字段唯一值工具- -ArcPy和Python案例学习笔记   目的:获取某一字段的唯一值,可以作为工具使用,也可以作为函数调用 联系方式:谢老师,135-4855-4328,xiexiaokui# ...

  7. Python高级学习笔记

    Python高级学习笔记,此笔记中包含Linux操作系统.Html+CSS+JS.网络协议等. 所有思维导图为本人亲手所画,请勿用于商用. 大哥们,求点赞哦. 第一天笔记:链接 第二天笔记:链接 第三 ...

  8. python爬虫学习笔记(一)——环境配置(windows系统)

    在进行python爬虫学习前,需要进行如下准备工作: python3+pip官方配置 1.Anaconda(推荐,包括python和相关库)   [推荐地址:清华镜像] https://mirrors ...

  9. Python入门学习笔记4:他人的博客及他人的学习思路

    看其他人的学习笔记,可以保证自己不走弯路.并且一举两得,即学知识又学方法! 廖雪峰:https://www.liaoxuefeng.com/wiki/0014316089557264a6b348958 ...

随机推荐

  1. Python 3之Django2部署(centos7+nginx+python3+django2.0)

    前置工具,系统为centos7.5,为了方便管理,可以安装宝塔免费版本 首先, yum install -y wget && wget -O install.sh http://dow ...

  2. Linux中Nginx安装教程

    Nginx 是一个很强大的高性能Web和反向代理服务器,它具有很多非常优越的特性: 在连接高并发的情况下,Nginx是Apache服务器不错的替代品:Nginx在美国是做虚拟主机生意的老板们经常选择的 ...

  3. 【SVN】关于提交代码时的问题

    将项目上传到SVN弹出框提示One added/edited TODO item was found. Would you like to review it? 然后百度说这样解决: 造成这个原因是因 ...

  4. 【spring】使用spring过程中踩到的坑

    这里简单记录一下,学习spring的时候碰过的异常: 异常:org.springframework.beans.factory.BeanDefinitionStoreException: Unexpe ...

  5. springboot+maven多模块工程dependency not found

    参见:https://blog.csdn.net/m0_37943753/article/details/81031319. 重点是<dependencyManagement>标签的作用, ...

  6. webpack优化以及node版本

    最近做的这个项目webpack用的是1.X的版本,真的非常多的坑,然后最近在疯狂的做优化: 事情的起因是每次我npm run dev的时侯都需要5分钟+,这个速度真的是难以忍受,然后就尝试去做项目的优 ...

  7. python3 urllib 类

    urllib模块中的方法 1.urllib.urlopen(url[,data[,proxies]]) 打开一个url的方法,返回一个文件对象,然后可以进行类似文件对象的操作.本例试着打开google ...

  8. nginx安装与挂载

    Linux下添加新硬盘,分区及挂载 http://blog.chinaunix.net/uid-25829053-id-3067619.html vim /etc/fstab /dev vdb1  / ...

  9. OAuth2.0 协议的理解

    OAuth(Open Authorization)协议就是为用户资源的授权提供了一个安全.开放.简易的标准. OAuth在第三方应用与服务提供商之间设置了一个授权层,第三方应用通过授权层获取令牌,再通 ...

  10. IDEA 上 Tigase8.0 源代码编译运行

    Tigase交流群 :310790965 一些小伙伴们经常问Tigase8 check下来的源代码怎么跑起来,因为我不能及时一 一回答,所以还是写个博文来演示一下吧,一般针对新手而言,老手的话,就跳过 ...