Python Flask WEB框架的入门方法

版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/qq_18808965/article/details/80528206
#-*- 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以开发模式运行你的网站以便于测试

猜你喜欢

转载自blog.csdn.net/qq_18808965/article/details/80528206