![](https://img-blog.csdnimg.cn/20201014180756724.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
flask web
csdn_Gjx
一个为梦想而奋斗的年轻人
展开
-
从flask script 转换到flask cli
#flask-script -> flask-Cli./manage.py runserver -> flask run./manage.py shell ->flask shell命令转换通过cli运行:要设置环境变量 export FLASK_APP=flask.pyflask run 原本的上下文:def make_shell_context(): ...原创 2018-02-09 21:29:31 · 2624 阅读 · 0 评论 -
从app.route装饰器引发对endpoint的思考
从app.route装饰器引发对endpoint的思考还是先来看看源码 def route(self, rule, **options): """A decorator that is used to register a view function for a given URL rule. This does the same thing as ...原创 2019-01-02 12:40:23 · 534 阅读 · 1 评论 -
flask中current_app、g、request、session源码的深究和理解
本文是我在学习flask中对上下文和几个类似全局变量的思考和研究,也有我自己的理解在内。为了研究flask中的current_app、g、request、session,我找到定义在global.py的源码: # context locals _request_ctx_stack = LocalStack() _app_ctx_stack = LocalS...原创 2019-01-02 12:07:16 · 654 阅读 · 0 评论 -
flask如何开启多线程详解
flask开启多线程在我之前写的'flask中current_app、g、request、session源码的深究和理解'一文中解释了flask如何支持多线程主要通过两个类来实现,LocalStack和Local,在Local中有两个属性,__storage__和__ident_func__,后者用来获取线程id,从而区分不同线程发来的请求这次要说的是flask如何开启多线程先从app...原创 2019-01-02 12:05:37 · 5366 阅读 · 0 评论 -
flask接收请求并推入栈
flask接收请求并推入栈前面两篇讲明了flask怎么支持多线程以及怎么开启多线程的,这篇来讲讲当后端接收到请求后是怎么一步步封装的1. Flask类中的wsgi_app()当应用启动后WSGI Server会通过Flask.__call__()接收http请求,Flask.__call__()中返回的是wsgi_app()方法, def wsgi_app(self, envi...原创 2019-01-02 11:58:05 · 207 阅读 · 0 评论 -
flask-login中的login_required装饰器
flask-login模块中login_required装饰器先看看源码def login_required(func): @wraps(func) def decorated_view(*args, **kwargs): if request.method in EXEMPT_METHODS: return func(*ar...原创 2019-01-02 11:56:48 · 4182 阅读 · 0 评论 -
flask_login模块中user_loader装饰器引发的思考
今天看书遇到了flask login模块中的信号机制,看到user_loader这个装饰器时有些疑惑,为什么需要这个装饰器呢,先看一下源码: def user_loader(self, callback): ''' This sets the callback for reloading a user from the session. The ...原创 2019-01-02 11:54:32 · 1758 阅读 · 1 评论 -
flask_web 蓝本基模板继承问题
每个蓝本都能有自己的templates文件夹来放蓝本引用模板文件但是如果每个蓝本模板中都有base.html 那么其他蓝本中继承自base.html的文件究竟继承的是自己的base.html还是其他蓝本的呢?这个取决于在工厂函数中蓝本注册的顺序,所有蓝本模板都会继承自第一个注册的蓝本的base.html,而不会继承自己模板文件夹中的。...原创 2018-02-13 10:50:24 · 424 阅读 · 0 评论 -
flask web_01
阅读实践flask web一书中第31页,书中写的“因此只需引入moment.js即可”一处有误,需要在{%block head%}中引用moment.js代码如下:{% block head %} {{ super() }} {{ moment.include_jquery() }} {{ moment.include_moment() }}{% endblock %}...原创 2018-02-07 15:21:15 · 172 阅读 · 0 评论 -
flask web_03
创建用户认证蓝本在abp.py中在工厂文件中导入 LoginManager在LoginManager中有一属性为session_protection,可设置为None,basic,strong选择basic,否则关闭浏览器后再打开再按home会登出。改变表单长度:<div class="col-mg-3"> {{wtf.qu...原创 2018-02-11 18:48:25 · 237 阅读 · 0 评论 -
flask_web 大型项目结构化
项目目录树-flask_web -blog -app -errorblueprint -rootblueprint -__init__.py -db_models.py -email_fun.py -factory.py -f...原创 2018-02-10 18:38:11 · 806 阅读 · 0 评论 -
端口被占用解决方法
通过命令 lsof -i port 查看占用端口 的进程Id,再通过Kill杀死进程重新获得端口使用权。原创 2018-02-09 16:24:34 · 1453 阅读 · 0 评论 -
flask_web_02
这次遇到的是数据库mysql写入中文出错的问题 ,原因是编码不匹配(1366错误),通过命令 alter table tbname convert to charset utf8;改变插入表的编码为utf8后正常。...原创 2018-02-09 16:09:05 · 170 阅读 · 0 评论 -
应用服务器与WSGI协议以及flask后端框架总结(后端接收请求返回响应的整个流程)
1. 上次遗留了两个问题,先说一下自己的看法问题:1.明明一个线程只能处理一个请求,那么栈里的元素永远是在栈顶,那为什么需要用栈这个结构?用普通变量不行吗.2._request_ctx_stack和_app_ctx_stack都是线程隔离的,那么为什么要分开?我认为在web runtime的情况下是可以不需要栈这个结构的,即使是单线程下也不需要,原本我以为在单线程下,当前一个请求阻塞后,后...原创 2019-01-02 12:43:05 · 457 阅读 · 0 评论