Flask框架基础篇(一)

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 "<h1>Hello friend<br>This is first Flask</h2>"

# 带参数路由传递,将输入的地址打印到页面
# @app.route(‘/user/<name>‘)
# def user(name):
#     return ‘<h2>hello,%s!!</h2>‘ % 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)

原文地址:http://blog.51cto.com/10412806/2117231

时间: 2024-08-30 11:38:14

Flask框架基础篇(一)的相关文章

easyui框架--基础篇(一)--&gt;数据表格datagrid(php与mysql交互)

  前  言  php  easyui框架--本篇学习主要是 easyui中的datagrid(数据表格)框架. 本篇学习主要通过讲解一段代码加GIF图片学习datagrid(数据表格)中的一些常用属性,还有与之相关的dialog(对话窗)和texbobox(文本框)的一些常用属性,希望对读者有帮助. 本篇主要分为两个部分讲解: ① 前端PHP代码编写--框架搭建与数据调用 ② 数据库的数据内容与后台数据连接,后台数据传输到前台 以下所有代码HBuider中建立PHP文件实施.(前提php文件可

Flask框架基础3

目录 线程threading 通过字典实现threading-local(函数) 面向对象版 通过setattr和getattr实现 每个对象有自己的存储空间(字典) 兼容线程和协程(源码到request中去看,看local的__getattr__,setattr) 请求上下文 蓝图 使用蓝图之中小型系统 使用蓝图之大型系统 g对象 flask-session 信号 线程threading from threading import Thread from threading import lo

Bootstrap框架(基础篇)之列表,表格,表单

继续上篇的基础部分延伸,主要说一下列表,表格,表单相关Bootstrap框架变化以及基础知识. 1.列表篇 除了HTML提供的三种基本列表样式: 无序列表 <ul> <li>…</li> </ul> 有序列表 <ol> <li>…</li> </ol> 定义列表 <dl> <dt>…</dt> <dd>…</dd> </dl> Bootst

Flask框架基础4

目录 wtforms 多app应用 flask-script SQLAlchemy 简单使用(能创建表,删除表,不能修改表) 一对多关系 多对多关系 操作数据表 基于scoped_session实现线程安全 基本增删查改 常用操作 执行原生sql 一对多 多对多 其它 Flask-SQLAlchemy wtforms 安装:pip3 install wtforms 使用1: from flask import Flask, render_template, request, redirect f

(C/C++)基于SharpUI控件库的插件式框架开发--第三篇框架基础服务库

一个框架基础的东西,一般也是操作的最基础的类,比如char.int.bool等,有时出现内存泄露的问题导致错误的抛出,但是C++开发有的时候就算是抛出异常,那也是靠经验来积累才能非常快速准确的找出错误所在,这就需要在框架中需要添加日志管理的接口,日志管理的好处就是开发者自身在找异常时提供参考,另一个就是如果用户操作时出现问题,也可将日志反馈,帮助快速解决问题:总之了为了更好的扩展完善我的框架,我详细列一下这个基础服务库(XPCore)包含内容: 虽说sharpui控件库内封闭好string类,但

Python Web框架【Django框架第一篇基础】

Django框架第一篇基础[DjangoMTV模式] 老师博客[www.cnblogs.com/yuanchenqi/articles/6811632.html] 同学博客:http://www.cnblogs.com/haiyan123/p/7701412.html Django官网:https://www.djangoproject.com/download/ 一.安装Django DjangoMTV模式 Django的MTV模式本质是各组件之间为了保持松耦合关系,Django的MTV分别代

Flask 框架中 上下文基础理念,包括cookie,session存储方法,requset属性,current_app模块和g模块

Flask中上下文,分为请求上下文和应用上下文.既状态留存 ,就是把变量存在某一个地方可以调用 请求上下文:实际就是request和session用法理念,既都是可以存储东西. 应用上下文:既变量共享,就是把东西存储在变量里可以打印预览,应用上下文包括 current_app模块和g模块 cookie方法增,查,删. 注:存储cookie时使用set_coooki方法存储key--calve形式数据,另一个参数max_age 是指定的存活时间. 调用cookie的方法是通过request模块的c

Python之路【第十六篇】:Django【基础篇】

Python之路[第十六篇]:Django[基础篇] Python的WEB框架有Django.Tornado.Flask 等多种,Django相较与其他WEB框架其优势为:大而全,框架本身集成了ORM.模型绑定.模板引擎.缓存.Session等诸多功能. 基本配置 一.创建django程序 终端命令:django-admin startproject sitename IDE创建Django程序时,本质上都是自动执行上述命令 其他常用命令: python manage.py runserver

js调试系列: 源码定位与调试[基础篇]

js调试系列目录: - 如果看了1, 2两篇,你对控制台应该有一个初步了解了,今天我们来个简单的调试.昨天留的三个课后练习,差不多就是今天要讲的内容.我们先来处理第一个问题:1. 查看文章下方 推荐 这个功能所调用的函数源码其实非常简单,点放大镜选中那个推荐即可.这个  votePost(cb_entryId,'Digg')  就是推荐按钮所调用的函数了,是不是非常简单. 第二个问题,定位到函数所在文件位置.其实也是非常简单的,当然,不熟悉控制台的朋友也许不知道怎么看.我在控制台输入 voteP