当前位置:首页>开发>正文

Python的代表性Web框架有哪些 如何部署简单python flask应用

2023-05-06 21:46:08 互联网 未知 开发

 Python的代表性Web框架有哪些 如何部署简单python   flask应用

Python的代表性Web框架有哪些?

1. Django
Django是一个开源的Web应用框架,由Python写成,支持许多数据库引擎,可以让Web开发变得迅速和可扩展,并会不断的版本更新以匹配Python最新版本,如果是新手程序员,可以从这个框架入手。
2. CherryPy
CherryPy是一种用于Python的、简单而非常有用的Web框架,其主要作用是以尽可能少的操作将Web服务器与Python代码连接,其功能包括内置的分析功能、灵活的插件系统以及一次运行多个HTTP服务器的功能,可与运行在最新版本的Python、Jython、Android上。
3. Web2py
web2py 是一个为Python语言提供的全功能Web应用框架,旨在敏捷快速的开发Web应用,具有快速、安全以及可移植的数据库驱动的应用,兼容
Google App Engine。
4. TurboGears
TurboGears可以快速实现Web应用程序开发,富含丰富的特殊性能,可以解决更多的框架领域问题,从简单到复杂的项目都可以开发,并具有实时的多数据库支持和灵活的ORM,简单的文档和最小的设置使它成为一个理想的使用框架。
5. Pylons
Pylons是一个开源的Web应用框架,使用Python语言编写,它对WSGI标准进行了扩展应用,提升了重用性且将功能分割到独立的模块中,而且提供了在线调试器,易于错误跟踪!

如何部署简单python flask应用

所需工具:
python3.flask
nginx
gunicorn
supervisor

系统环境:
Ubuntu 14.04LTS

我们先写一个最基本的flask应用:

demo.py

from flask import Flask
app = Flask(**name**)
@app.route()
def index():
return Hello World.
if __name__ == __main__:
app.run()
运行这个py文件,打开浏览器访问127.0.0.1:5000就能看到显示Hello World的页面 .
如果让这个flask引用监听来自公网ip的请求,理论上你跑此程序的机器就相当于一个服务器了,然而这个服务器并不完美,所以我们需要nginx和gunicorn来增加它的功能,让它真刀真枪上生产环境的时候能按要求运行。

flask自带的WSGI框架性能很差劲,只能适用于开发环境调试使用。我们用专业一点的gunicorn(还有很多其他优秀的框架)替代flask自带的WSGI框架。

配置完后,通过命令’/usr/local/bin/gunicorn -b127.0.0.1:5000‘启动应用。打开浏览器访问127.0.0.1:5000,同样能够得到返回页面

然而gunicorn也仅仅是一个python的WSGI框架而已,要让它真正处理来自互联网的各类访问功能还是有点欠缺,这时候就需要用到大名鼎鼎的nginx 服务器来替gunicorn遮风挡雨了。

Ubuntu下安装nginx可以用命令

sudo apt-get install nginx

安装后需要进行下配置:

cd /etc/nginx/sites-available
sudo vi test (test为配置名称,可以根据自己项目进行命名)

test文件的配置为:
server {
listen 80 # 监听80端口
location / {

proxy_pass http://127.0.0.1:5000 # 代理本机127.0.0.1:5000的服务

}
location /static {

alias /home/ubuntu/myproject/myblog/app/static # 负载均衡

}
}

cd ..

cd sites-enable

sudo ln -s ../sites-available/lwhile . (创建软链接,别漏掉最后的.)

sudo service nginx reload

sudo service nginx restart

这样nginx的基本配置文件就写好了 接下来我们配置进程管理工具supervisor supervisor可以在后面启动你的python进程,这样很方便
1.cd /etc/supervisor/conf.d

2.sudo vi test.conf (test为文件名)

[program:test]
command = /usr/local/bin/gunicorn -b127.0.0.1:5000 /home/ubuntu/myproject/test.py

3.sudo supervisorctl

4.reload

5.start test

如果一切正常,做完这所有步骤之后,现在公网的ip访问你的主机,就可以打开你的flask应用了

python的flask怎么实时展示数据

HTML5标准里有一个支持全双工通信的技术,叫WebSocket,也就是说可以由服务器高效率低消耗(相对于Comet技术之类的)地向浏览器推送数据,也可以由浏览器向服务器发送数据。
那么,在支持HTML5的浏览器上,你可以写一个js脚本,用WebSocket接受服务器发送的数据,在Python上,已经有Flask-SocketIO这种可以利用WebSocket的扩展了。

python怎么连接websocket

flask 使用 gevent-websocket gunicorn 部署
pip3 install gevent-websocket
pip3 install gunicorn
app.py demo
from geventwebsocket.handler import WebSocketHandler
from gevent.pywsgi import WSGIServer
app = Flask(__name__)
@app.route(/echo/)
def echo():
if request.environ.get(wsgi.websocket):
ws = request.environ[wsgi.websocket]
while True:
msg = ws.receive()
ws.send(msg)
if __name__ == __main__:
http_server = WSGIServer((, 5000), app, handler_class=WebSocketHandler)
http_server.serve_forever()
使用 gunicorn 启动 指定用 gevent-websocket
gunicorn -k geventwebsocket.gunicorn.workers.GeventWebSocketWorker app:app

最新文章