因为重构了项目,发现自己对这东西很不熟悉,特此记下
-
初次接触的
有一个
app.py
文件
if '__name__'=='__main__':
app.run(host='0.0.0.0')
这个在控制台输入如下指令即可
>python app.py
-
官方推荐
在文档里推荐的是
$ export FLASK_APP=app.py
$ python -m flask run --host=0.0.0.0
window上的是
set
而不是
export
-
有了flask-script
使用了flask-script后,修改代码如下
import os
from app import create_app,db
from app.models import User,Task,Comment
from flask import g
from flask_script import Manager, Shell
from flask_migrate import Migrate, MigrateCommand
app = create_app(os.getenv('FLASK_CONFIG') or 'default')
manager = Manager(app)
migrate = Migrate(app, db)
with app.app_context():
g.contextPath = ''
def make_shell_context():
return dict(app=app, db=db, User=User,Task=Task,Comment=Comment)
manager.add_command("shell", Shell(make_context=make_shell_context))
manager.add_command('db', MigrateCommand)
if __name__ == '__main__':
manager.run()
主要看与
flask-script
相关的内容,可以在控制台输入如下指令
>python manager.py shell
>>>app.run(host=0.0.0.0)
也可以达到运行服务的效果
这个有一个问题就是停止服务不是和正常的Ctrl+C即可,还是得查看进程号,然后杀死进程才行
如有错误望指正,谢谢
物理架构(如何部署项目–》有没有云
服务
器?多少台?)
Nginx/Apache/Tengine -->静态资源
服务
器
Gunicorn/uWSGI
运行
python
程序的
服务
器(提供动态内容)
Django3支持异步编程 --》DAphne/
本地
运行
from
flask
import
Flask
, jsonify
app =
1.
Flask
Flask
是一个轻量级的Web框架,使用
Python
语言实现。正是轻量级,所以它与Django重量级框架的不同点就是,集成的东西非常少,大多都需要自己实现,所以比较适合简单应用或定制化程度较高的项目
安装(建议在虚拟环境安装)
pip install
flask
==1.0.2
安装完成之后,我们写第一个
flask
项目
from
flask
import
Flask
# 导包
app =
Flask
(__name__) # 创建app,__name__表示指向程序所在的包
@app.
1、当客户端想要获取资源时,一般会通过浏览器发起HTTP请求。
2、 此时,Web
服务
器会把来自客户端的所有请求都交给
Flask
程序实例。
3、 程序实例使用Werkzeug来做路由分发(URL请求和视图函数之间的对应关系)。
4、根据每个URL请求,找到具体的视图函数并进行调用。
在
Flask
程序中,路由的实现一般是通过程序实例的装饰器实现。
5、
Flask
调用视图函数后,可以返回两种内容:
字符串内容:将视图函数的返回值作为响应的内容,返回给客户端(浏览器)。
HTML模板内容
在实际过程开发中,有时候会有在
启动
Web
服务
的同时,希望
启动
一个后台任务去
运行
其他的任务。显然后台的任务,都是借由线程去完成的,所以在什么地方
运行
线程是需要我们解决的问题。
请求时
启动
任务
这种
方式
显然时最简单的,配合
flask
自带的 api 我们可以在第一次请求时,甚至在每次请求
启动
线程。**
import threading
import time
from
flask
import
Flask
app =
Flask
(__name__)
# app.before_
C2000系列芯片的FLASH模式需要将程序下载到芯片的FLASH中,如果使用了加密功能,需要在下载前将程序进行解密。如果您的程序已经加密,但是在FLASH模式下无法
运行
,可能有以下
几种
原因:
1. 解密算法不正确:在下载加密程序之前,需要将程序进行解密。如果解密算法不正确,解密后的程序可能会出现错误,导致芯片无法正常
运行
。
2. 程序存储地址错误:在下载程序时,需要将程序正确地存储到芯片的FLASH中。如果程序存储地址错误,可能会导致程序无法正确
运行
。
3. 加密选项设置错误:在编译程序时,需要正确地设置加密选项。如果加密选项设置错误,可能会导致程序无法正确
运行
。
针对以上问题,您可以尝试以下解决方法:
1. 检查解密算法是否正确,并重新进行解密。
2. 检查程序存储地址是否正确,并重新下载程序。
3. 检查加密选项是否正确,并重新编译程序。
如果以上方法都无法解决问题,建议联系芯片厂商或相关技术支持人员进行进一步的排查。