[英]How to define lists in python dot env file?
在 Fast API 文檔中,建議使用 .env 加載配置。 據我所知,只是它只支持字符串。
from fastapi import FastAPI
from pydantic import BaseSettings
class Settings(BaseSettings):
api_tokens = []
class Config:
env_file = ".env"
settings = Settings()
app = FastAPI()
我通常每隔幾個月更改一次 API 令牌,方法是在列表中添加一個新令牌,一段時間后我刪除舊令牌。 這使用戶有足夠的時間升級到最新版本而不會受到任何干擾。 同時,兩個 API 令牌將在一段時間內有效。
但我無法在.env
文件中定義列表。
API_TOKENS = abc123,abc321
我錯過了什么嗎?
更新:
其實是可以的。 下面的答案是正確的,但是我仍然不得不像這樣更改類型:
class Settings(BaseSettings):
api_tokens: list
您可以使用 json 模塊將字符串變量轉換為 python 中的列表。
.env 文件
LIST_VAR='["Foo", "bar"]'
Python 代碼
import os
import json
from dotenv import load_dotenv
load_dotenv()
list_var = json.loads(os.environ['LIST_VAR'])
這應該工作,
API_TOKENS = ["abc123","abc321"]
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.