Flask(2)
第一个Flask程序
#coding=utf-8
#1.导入Flask扩展
from flask import Flask
#2.创建Flask应用程序实例
#需要传入__name__,作用是为了确定资源所在路径
app = Flask(__name__)
#定义路由以及视图函数
#Falsk中定义路由是通过装饰圈实现的
@app.route('/')
def hello_world():
return '哈哈哈'
#启动程序
if __name__ == '__main__':
#执行了,app.run,就会将Falsk程序运行在一个简易的服务器,(Flask提供,用于测试)
app.run()
返回模板
#coding=utf-8
#1.导入Flask扩展
from flask import Flask ,render_template
#2.创建Flask应用程序实例
#需要传入__name__,作用是为了确定资源所在路径
app = Flask(__name__)
#定义路由以及视图函数
#Falsk中定义路由是通过装饰圈实现的
@app.route('/')
def hello_world():
#返回html模板
return render_template("index.html")
#启动程序
if __name__ == '__main__':
#执行了,app.run,就会将Falsk程序运行在一个简易的服务器,(Flask提供,用于测试)
app.run()
重定向
#!/usr/bin/python3
from flask import Flask, redirect
from flask import request
app = Flask(__name__)
@app.route('/query')
def query():
return 'hello'
@app.route("/")
def hah():
#重定向到 "/query"
return redirect("/query")
if __name__ == '__main__':
app.run(debug=True)
三件套
| django | flask | 注释 |
|---|---|---|
| HttpResponse | 直接字符串 | 返回字符串 |
| render() | render_template("index.html") | 返回模板 |
| redirect() | redirect() | 重定向 |
路由默认只支持GET,如果需要增加,需要自行指定
@app.route('/',methods=['GET',"POST"])
def hello_world():
#返回html模板
return render_template("index.html")
使用同一个视图函数,
#有的时候,需要对路由做访问优化,订单ID应该是int类型 int,float
#<>定义路由的参数,<>内需要起个名字
@app.route("/orders/<float:order_id>")
def getOrderId(order_id):
#参数类型,默认是字符串,unicode
print(type(order_id))
#需要再视图函数的()内填入参数名,那么后面的代码才能
return 'order_id%s' %order_id
分解URL组成
#!/usr/bin/python3
from flask import Flask
from flask import request
app = Flask(__name__)
def echo(key, value):
print('%-10s = %s' % (key, value))
@app.route('/query')
def query():
print("qqq")
echo('url', request.url)
echo('base_url', request.base_url)
echo('host', request.host)
echo('host_url', request.host_url)
echo('path', request.path)
echo('full_path', request.full_path)
print("哈哈")
print("哈哈")
print(request.args)
return 'hello'
if __name__ == '__main__':
app.run()

浙公网安备 33010602011771号