flask项目使用
本文于 2024 天之前发表,文中内容可能已经过时。
Flask简介
Flask是一个使用 Python 编写的轻量级 Web 应用框架。
Flask环境配置
1 | //添加flask |
FLask基本使用
1 | from flask import Flask |
Flask项目的目录
其中 scss是进行屏幕适配的,使用vw进行适配
templates中存放的是html文件,前端界面
app中是网站的路由管理及后台处理
model是数据库的设置
tornado_sever是使用tornado进行线上部署管理
- 本项目连接的是mysql数据库
1 | DIALECT = '' # 要用的什么数据库 |
- 使用torndo进行线上管理
1 | # tornado_server.py |
问题总结
- https网页中解决http请求
问题:在线上环境,本项目成为https的网页链接,其中牵扯到http的网络请求交互,在游览器 中,这种行为 是被禁止的,所以http请求都被终止
解决方案: 在前端js中的http请求映射到python后台接口中,通过python请求http请求后将结果返回给js前端页面进行交互
路由接口重定向
1
redirect(url_for(''))
版本更新前端静态资源没有更新
问题:前端页面更新后,修改的样式,逻辑没有更新,是因为游览器存在缓存导致,加载的是上一个版本的静态资源。
解决方案:在必要的css和js文件在html中引用时,需要添加后缀,如下:
1 | <script src="../static/js/city.js?v={{ version }}"></script> |
通过统一处理,在开发环境中version为一个随机数,在正式环境中version为版本号,这样在上线后,直接可以查看本项目是否已经更新到最新版本
手机端网页适配
添加scss生成css的适配方案
ajax中多次请求后,需要获取最后一次的请求数据,请求频繁导致先请求的数据后面请求成功,则顺序被改变,
所以需要对请求的接口进行判断处理,在请求成功后,如果二次进入了,则关闭上次的请求,在返回成功和失败的接口处进行close的处理
微信pc端无法加载es6的js代码,需要转化为es5,去掉let =>等es6标识,即可
Flask运行
在生产环境中运行
1 | python app.py |
在开发环境中运行
1 | python tornado_server.py |
Flask中默认启用的是5000端口,所以链接地址为localhost:5000/xxx
如果不想使用5000端口,需要在app.run中进行设定
1 | app.run( |