python加sanic怎么使用全局变量
请问一下,我用python3.10配合sanic写的服务器,在全局函数里面获取了一个全局变量access_token,在函数phone里面为什么获取不出来啊? 创建一个名为`config.py`的模块,将需要共享的全局变量定义在其中:```python
# config.py
CONFIG_VAR = 'some value'
```
然后,在需要使用该全局变量的地方引入模块:
```python
#main.py
from sanic import Sanic
from config import CONFIG_VAR
app = Sanic()
@app.route('/')
async def index(request):
return f'The config value is {CONFIG_VAR}'
if __name__ == '__main__':
app.run()
```
在这个示例中,Sanic应用程序定义在`main.py`文件中,引入了全局变量`CONFIG_VAR`。在路由处理函数中,可以直接使用该变量。由于该变量定义在一个单独的模块中,因此在不同的请求中,可以共享相同的值。
需要注意的是,全局变量容易引起线程安全问题,因此建议仅在必要时使用,并尽量避免对其进行修改。 文档不是有应用上下文吗,用上下文就好了 加到配置文件就行了,这样也比较规范,如楼上config.py dusagu 发表于 2023-3-6 13:31
创建一个名为`config.py`的模块,将需要共享的全局变量定义在其中:
```python
谢谢,那如果config_var这个变量是小程序的access_token每个小时都要重新取值的呢!?那是不是同时运行两个py文件就行了啊
页:
[1]