Flask框架基础篇(一)

发布时间:2020-07-20 16:48:19 作者:扉亦般先生
来源:网络 阅读:470

Flask是一个使用Python语言编写的轻量Web开发级框架--"麻雀虽小,五脏俱全"。flash两大核心: 基于Werkzeug的路由模块,基于Jinja2模板引擎。
中文文档:http://docs.jinkan.org/docs/flask/
虚拟环境配置参照中文文档:
下面通过在代码里面介绍一些基础知识点:

from flask import Flask
from flask import request
from flask import jsonify
from flask import redirect, url_for
from werkzeug.routing import BaseConverter

app = Flask(__name__)

# 1.通过配置文件加载,加载debug
# 需要在当前路径下新建config.ini文件 内容为 DEBUG=True
# app.config.from_pyfile('config.ini')
# 2.从配置对象中加载
# class Config(object):
#     DEBUG = True
# app.config.from_object(Config)
# 3.直接在run()中传入参数debug=True

# 欢迎首页
@app.route('/')
def index():
    return "<h2>Hello friend<br>This is first Flask</h3>"

# 带参数路由传递,将输入的地址打印到页面
# @app.route('/user/<name>')
# def user(name):
#     return '<h3>hello,%s!!</h3>' % name

# 设置浏览器地址栏传入参数类型
# 浏览器输入默认为str类型 ,可做限定类型还有 float ,path(也是字符串类型)
@app.route('/user/<int:user_id>')
def user_info(user_id):
    return "user_info:%d" % user_id

# 设置请求方法
@app.route('/demo', methods=['GET','POST','HEAD'])
def demo():
    return request.method

# 返回json格式的数据
@app.route('/demo01')
def demo01():
    json_dict = {
        "user_id":12,
        "user_name":"董永",
        "age":20
    }
    return jsonify(json_dict)

#重定向
@app.route('/demo02')
def demo02():
    # 重定向到百度
    # return redirect('http://www.baidu.com')
    # 重定向到欢迎首页
    # return redirect('/')
    '''url_for 调用视图函数的url'''
    return redirect(url_for('demo01'))

# 自定义状态码
@app.route('/demo03')
def demo03():
    # print("自定义状态码")
    return '状态码',123

# 正则匹配
# 自定义转换器
class ReConverter(BaseConverter):
    def __init__(self, url_map, *args):
        super(ReConverter, self).__init__(url_map)
        self.regex = args[0]

# 将自定义转换器添加到转换器字典中,并指定转换器使用名称

app.url_map.converters['re'] = ReConverter

# 通过调用自定义转换器,过滤浏览器输入不合规参数
@app.route('/user/<re("[0-9]{3}"):user_id>')
def user_msg(user_id):
    return "正则限定后 user_id 是:%s" % user_id

# url_for('')调用视图函数的url
@app.route('/demo04')
def demo04():
    return url_for('demo03')

# 程序入口
if __name__ == '__main__':
    app.run(debug=True)
推荐阅读:
  1. redis基础篇
  2. VBScript基础篇

免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。

python flask基础知识

上一篇:java中路径表示的方法

下一篇:详解Vue如何实现显示/隐藏层

相关阅读

您好,登录后才能下订单哦!

密码登录
登录注册
其他方式登录
点击 登录注册 即表示同意《亿速云用户服务条款》