python-flask中一些概念

屈宏爽
2023-12-01

https://luhuisicnu.gitbook.io/the-flask-mega-tutorial-zh/di-yi-zhang-hello-world
https://github.com/luhuisicnu/The-Flask-Mega-Tutorial-zh/blob/master/

1 应用程序是存在于包中的。 在Python中,包含__init__.py文件的子目录被视为一个可导入的包。 当你导入一个包时,init.py会执行并定义这个包暴露给外界的属性
2 在终端会话中直接设置的环境变量不会永久生效,因此你不得不在每次新开终端时设定 FLASK_APP 环境变量,从 1.0 版本开始,Flask 允许你设置只会在运行flask命令时自动注册生效的环境变量,要实现这点,你需要安装 python-dotenv
在项目的根目录下新建一个名为 .flaskenv 的文件,其内容是:
FLASK_APP=microblog.py 应用程序文件
3 我将使用Flask-WTF插件来处理本应用中的Web表单,它对WTForms进行了浅层次的封装以便和Flask完美结合。这是本应用引入的第一个Flask插件,但绝不是最后一个。插件是Flask生态中的举足轻重的一部分,Flask故意设计为只包含核心功能以保持代码的整洁,并暴露接口以对接解决不同问题的插件。

什么叫表单?
什么叫视图 @app.route
视图结合表单和html模板

Flask是一个基于Python开发,依赖jinja2模板和Werkzeug WSGI服务的一个微型框架。
Werkzeug用来处理Socket服务,其在Flask中被用于接受和处理http请求;Jinja2被用来对模板进行处理,将模板和数据进行渲染,返回给用户的浏览器。

jQuery官方中文文档
地址:https://www.jquery123.com/

flask中文文档
地址:http://docs.jinkan.org/docs/flask/

jinja2中文文档
地址:http://docs.jinkan.org/docs/jinja2/

CSS参考手册
地址:http://www.w3school.com.cn/cssref/index.asp
————————————————
版权声明:本文为CSDN博主「高飞的Leo」的原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接及本声明。
原文链接:https://blog.csdn.net/weixin_44424997/article/details/89055345

uwsgi --http h o s t : {host}: host:{port} --http-websockets --module app --callable app --master --procname-master ${procname}.master --procname ${procname}.worker --workers $cpu_count --threads 16 --listen $listen
–chdir $dir --daemonize $logfile --pidfile $pidfile --max-requests 250 --disable-logging --log-maxsize 10000000 --http-keepalive

uWSGI是一个Python Web服务器,它实现了WSGI协议、uwsgi、http等协议,常在部署Django或Flask开发的Python Web项目时使用,作为连接Nginx与应用程序之间的桥梁。本章总结了uWSGI服务器的作用以及在部署Python Web项目时如何安装和配置uWSGI。
为什么需要uWSGI?

在生产环境中部署Python Web项目时,uWSGI负责处理Nginx转发的动态请求,并与我们的Python应用程序沟通,同时将应用程序返回的响应数据传递给Nginx。

客户端 <-> Nginx <-> uWSGI <-> Python应用程序(Django, Flask)
或许你要问了,Nginx本身就是Web服务器,我们为什么还需要uWSGI这个Web服务器呢? Django不是自带runserver服务器?Flask不是自带Werkzeug吗? 答案是Nginx处理静态文件非常优秀,却不能直接与我们的Python Web应用程序进行交互。Django和Flask本身是Web框架,并不是Web服务器,它们自带的runserver和Werkzeug也仅仅用于开发测试环境,生产环境中处理并发的能力太弱。

为了解决Web 服务器与应用程序之间的交互问题,就出现了Web 服务器与应用程序之间交互的规范。最早出现的是CGI,后来又出现了改进 CGI 性能的FasgCGI,Java 专用的 Servlet 规范。在Python领域,最知名的就是WSGI规范了。

WSGI 全称是 Web Server Gateway Interface,也就是 Web 服务器网关接口,是一个web服务器(如uWSGI服务器)与web应用(如用Django或Flask框架写的程序)通信的一种规范。WSGI包含了很多自有协议,其中一个是uwsgi,它用于定义传输信息的类型。

现在你清楚uWSGI, WSGI和uwsgi的区别了吗?

  • uWSGI是Python Web服务器,实现了WSGI通信规范和uwsgi协议;

  • WSGI全名Web Server Gateway Interface,是一个Web服务器(如uWSGI服务器)与web应用(如用Django或Flask框架写的程序)通信的一种规范;

  • uwsgi是WSGI通信规范中的一种自有协议。

 类似资料: