flask hello world教程

应用程序是存在于包中的,python中,包含__init__.py文件的子目录被视为一个可导入的包。当导入这个包时,init.py会执行并定义这个包暴露给外界的属性。
创建microblog文件夹,创建基本的文件结构:

mkdir app
mkdir app/static
mkdir app/templates
mkdir tmp

app-存放应用程序,static存放静态文件,templates存放模板文件。

一个完全工作的简单的 web 应用程序,它有着如下的文件结构:

microblog\
  flask\
    <virtual environment files>
  app\
    static\
    templates\
    __init__.py
    views.py
  tmp\
  run.py

1、在app路径下,创建初始化脚本(init.py)

from flask import Flask#从包flask中 import Flask类
app = Flask(__name__)#app被定义为__init__.py脚本中的Flask类的一个实例,__name__变量是是一个Python预定义的变量,它表示当前调用它的模块的名字
from app import views#从app包(包括app目录和__init__.py脚本)中导入视图模块-views脚本

views模块在底部导入,解决循环导入的问题,views模块需要导入__init__.py脚本中定义的app实例变量。
注:视图是响应网页浏览器请求的处理器。在Flask中,视图是python函数,每一个视图函数是映射到一个或多个请求的URL-资源在Web上的地址,每个有效的URL指向一个唯一的资源,这个资源可以是HTML页面、CSS文档、一幅图像等。
2、在app路径下,创建视图函数(views.py)
路由是应用程序实现的不同的URL,在Flask中,应用程序路由的处理逻辑被编写成python函数,称为视图函数。视图函数被映射到一个或多个路由URL,以便Flask知道当客户端请求给定的URL时执行什么逻辑。
返回一个字符串,在客户端网页浏览器上显示
@是python的修饰器,会修改跟在其后的函数,常见模式是使用它们将函数注册为某些事件的回调函数

from app import app#从app包中导入*app*变量(初始化函数中定义的实例对象)
@app.route('/')#route装饰器创建从网址'/'到该函数的映射
@app.route('/index')#route装饰器创建从网址'/index'到该函数的映射
def index():
      return "hello, world!"

在这个例子中,有两个装饰器,它们将URL /和/index索引关联到这个函数(def index)。 这意味着,当Web浏览器请求这两个URL中的任何一个时,Flask将调用该函数(def index)并将其返回值作为响应传递回浏览器。
3、在app路径下,创建运行脚本(run.py)
能够完整工作的Web应用程序最后一步是创建一个脚本,启动应用程序的开发Web服务器

 from app import app
 app.run(debug=True)#调用变量app的run方法启动服务器

输出表明服务器正在运行在IP地址127.0.0.1上,这是本机的回环IP地址,有一个更简单的名字,也就是localhost。由于此应用程序在开发环境中运行,服务器初始化后,它会监听5000端口,等待着连接。使用URL http://localhost:5000或者http://localhost:5000/index,都可以映射到我们的视图函数view.py,因为这两个路由都关联到我们的视图函数,return “hello, world!”

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值