#-*- encoding: utf-8 -*-
from flask import Flask
from flask import render_template
from flask import jsonify
from flask import request
from flask import make_response
from flask import redirect
from flask import abort
#from flask import web
app = Flask(__name__)
@app.route("/<name>")
def index(name):
return render_template("index.html",name=name)
@app.route("/hello", methods=['GET', ])
def hello():
return jsonify(msg="hello world!")
# @app.route('/hello_world')
# def hello_world():
# return 'Hello World! '
@app.route('/name')
def name():
return 'wangbenyan'
# 对 url 中,/user/ 后面的内容进行匹配、截取,赋值给变量 name,默认匹配字符串,可以指定类型。例如,/user/<int:id> 只匹配 id 为整数的 URL
@app.route("/user/<name>")
def hello_world(name):#变量 name 作为参数传递给函数 user[关键字参数]
#可以根据不同的name关键字做不同的处理逻辑
if name == "print":
p1 = request.args.get('p1', 1, type=int)#从 url 获取 键为 p1 的 值转换为整形,如果没有 或 转换失败,默认为 1
p2 = request.args.get('p2', 1, type=str)
return "OK" + str(p1) + " " + str(p2)
elif name == "return":
print(request.args)
response = make_response('<h1>This document carries a cookie!</h1>')#采用Response 对象返回响应
# response.headers()
response.set_cookie('answer', '42') # 设置 cookie
return response
# return 'Hello World!' + "\t" + name
elif name == "redir":
return redirect("http://baidu.com")#对该url进行重定向
elif name == "notfind":
print("not find")
abort(404)#注意,abort 会直接跳出调用它的函数,抛出异常,把控制权交给 Web 服务器
else:
return "None"
#视图类、视图函数
urls = (
'/index', 'index',
'/blog/\d+', 'blog',
'/(.*)', 'hello'
)
app = web.application(urls, globals())
class hello:
def GET(self, name):
return open(r'123.html').read()
class index:
def GET(self):
query = web.input()
return query
class blog:
def POST(self):
data = web.input()
return data
if __name__ == '__main__':
app.debug = True
app.run() #它告诉Flask以开发模式运行你的网站以便于测试
Python Flask WEB框架的入门方法
最新推荐文章于 2024-08-27 11:02:31 发布