Flask源码阅读-第二篇(flask\__init__.py)

源码:

# -*- coding: utf-8 -*-"""    flask    ~~~~~

A microframework based on Werkzeug.  It‘s extensively documented    and follows best practice patterns.

:copyright: ? 2010 by the Pallets team.    :license: BSD, see LICENSE for more details."""

__version__ = ‘1.0.2‘

# utilities we import from Werkzeug and Jinja2 that are unused# in the module but are exported as public interface.from werkzeug.exceptions import abortfrom werkzeug.utils import redirectfrom jinja2 import Markup, escape

from .app import Flask, Request, Responsefrom .config import Configfrom .helpers import url_for, flash, send_file, send_from_directory, \     get_flashed_messages, get_template_attribute, make_response, safe_join, \     stream_with_contextfrom .globals import current_app, g, request, session, _request_ctx_stack, \     _app_ctx_stackfrom .ctx import has_request_context, has_app_context, \     after_this_request, copy_current_request_contextfrom .blueprints import Blueprintfrom .templating import render_template, render_template_string

# the signalsfrom .signals import signals_available, template_rendered, request_started, \     request_finished, got_request_exception, request_tearing_down, \     appcontext_tearing_down, appcontext_pushed, \     appcontext_popped, message_flashed, before_render_template

# We‘re not exposing the actual json module but a convenient wrapper around# it.from . import json

# This was the only thing that Flask used to export at one point and it had# a more generic name.jsonify = json.jsonify

# backwards compat, goes away in 1.0from .sessions import SecureCookieSession as Sessionjson_available = True

flask\__init__.py本模块顾名思义,主要是做了大量的初始化导入工作,方便后面的直接调用,其中最核心的一句
jsonify = json.jsonify, 在后面的json和接口开发中用得比较多,对json格式的接口交互,
相对 Python的原生json方法,我个人比较推荐用flask的jsonify方法,其直接返回的content-type就是json

原文地址:https://www.cnblogs.com/sea520/p/9995881.html

时间: 2024-10-04 18:40:35

Flask源码阅读-第二篇(flask\__init__.py)的相关文章

PyalgoTrade源码阅读完结篇

前言 本文着重于回测相关得模块. 由于上一篇文章实在是写得太烂了, 这一篇文章重新开始写. Pyalgotrade业务逻辑及实现原理 以官方教程示例为例 下载数据 python -c "from pyalgotrade.tools import yahoofinance; yahoofinance.download_daily_bars('orcl', 2000, 'orcl-2000.csv')" 构建策略并运行 from pyalgotrade import strategy fr

Flask 源码阅读笔记

我觉得我已经养成了一个坏习惯,在使用一个框架过程中对它的内部原理非常感兴趣,有时候需要花不少精力才 明白,这也导致了学习的缓慢,但换来的是对框架的内部机理的熟悉,正如侯捷所说,源码面前,了无秘密.这也是 本文产生的直接原因. 一.flask session原理 flask的session是通过客户端的cookie实现的,不同于diango的服务器端实现,flask通过itsdangerous这个苦 将session的内容序列化到浏览器的cookie,当浏览器再次请求时将反序列化cookie内容,

源码阅读技巧篇

转载请注明原创出处,谢谢! 说在前面 本人水平有限,下面的一些都是本人的思考与理解,如果有那里不对,希望各位大佬积极指出,欢迎在留言区进行评论交流.探讨. 主题 为什么要读源码 读什么样的源码 有什么技巧 思考.交流 坚持 为什么要源码 说到读源码,让我想起来了读书,古语有云:"读破万卷书,下笔如有神". 多读读大师的想法技巧 通过大量阅读进行积累 把一些零碎的知识点整合起来 就拿RocketMQ来说,它是如何实现高性能.高可用.之前写过高可用的一些思考和理解里面的特性他应该都满足,R

Windbg符号与源码 《第二篇》

符号文件是一种辅助数据,它包含了对应用程序代码的一些标注信息,这些信息在调试过程中非常有用.如果没有辅助数据,那么能获得的信息就只有应用程序的二进制文件.二进制文件很难调试,因为无法看到代码中的函数名.数据结构名等.这正是符号文件能显示的.符号文件的扩展名通常是pdb,调试器能够很好地解析这种文件格式. 编译器和链接器在创建二进制镜像文件(诸如exe.dll.sys)时,伴生的后缀名为.dbg..sym或.pdb的包含镜像文件编译.链接过程中生成的符号信息的文件称为符号文件.具体来说,符号信息包

spark源码阅读-脚本篇

spark都进化到2.0了,虽然之前对spark有所了解但总感觉似懂非懂的,所以想花时间看看源码. 面对大量的源码从哪里着手呢,想到老子的一句话“天下难事必作于易,天下大事必作于细”,所以就从脚本部分来啃. 因本人脚本编程能力也并不是那么强,所以在总结的时候会穿插一些shell的东西.此处只介绍shell脚本,不涉及bat脚本. 先按照首字母顺序介绍下每个脚本的功能: spark-1.5.0/bin beeline:基于SQLLine CLI的JDBC客户端,可以连接到hive,操作hive中的

Apktool源码解析——第二篇

上一篇讲到ApkDecoder这个类,大部分调用到还是Androlib类,而且上次发现brutall的代码竟然不是最新的,遂去找iBotP.的代码了. 今天来看Androlib的代码: private final AndrolibResources mAndRes = new AndrolibResources(); protected final ResUnknownFiles mResUnknownFiles = new ResUnknownFiles(); public ApkOption

【原】AFNetworking源码阅读(六)

[原]AFNetworking源码阅读(六) 本文转载请注明出处 —— polobymulberry-博客园 1. 前言 这一篇的想讲的,一个就是分析一下AFSecurityPolicy文件,看看AFNetworking的网络安全策略,尤其指HTTPS(大家可以先简单了解下HTTPS).再一个就是分析下AFNetworkReachabilityManager文件,看看AFNetworking如何解决网络状态的检测. 2. AFSecurityPolicy - 网络安全策略 之前我们在AFURLS

Flask源码解析(理解working outside of application context)

from flask import Flask, current_app app = Flask(__name__) a = current_app d = current_app.config['DEBUG'] 首先从这段代码看起,代码运行的结果就是 RuntimeError: Working outside of application context. 此时本地代理未绑定,不是我们想要的核心flask对象.代码报错. current_app = LocalProxy(_find_app)

11.6 Flask 源码流程,上下文管理

源码流程 创建对象 from flask import Flask """ 1 实例化对象 app """ app = Flask(__name__) """ 2 设置路由 将路由关系放在 app.url_map = {} 中 """ @app.route("/index") def index(): return "index" if —__na