Flask应用程序中的全局变量/函数

时间:2018-07-08 04:07:04

标签: python flask

我是Flask和Python的新手,目前正在创建一个小型Web应用程序。它具有的文件有:主文件(只需运行应用程序),激活,结帐,付款。

我在其他3个页面中都有很多冗余代码和变量,例如:

  • 验证Shopify Webhook的功能
  • 将后置XML的“凭据”部分生成为其他API(可以转换为函数)
  • 此API的一些凭据变量:ID,用户名,密码,密码,referenceNumber等。
  • Google Sheets API凭据变量

我是否可以将函数和变量放入Main.py并将其导入到其他3个文件中?这是个好习惯吗?如果其中一些其他文件可以同时从Main访问变量或函数,将会有问题吗?例如:Checkout和Payment可能以某种方式同时访问verifyShopifyWebhook()函数,因为它们是在Shopify将Webhook发送到任一地址时运行的。

我在Activate,Checkout和Refund上也有很多相同的进口商品。我可以将相同的内容全部放入Main并从Main导入吗?

1 个答案:

答案 0 :(得分:1)

凭据变量

使用敏感变量的一般方法是将它们存储为环境变量。您可以将所有凭据变量保存到项目根目录下的.env文件中:

API_ID=my_id
API_USERNAME=my_username

请记住将其添加到.gitignore:

.env

然后,您可以使用python-dotenv或类似的方法来导入变量:

# pip install python-dotenv
import os
from dotenv import load_dotenv

load_dotenv() 

现在您可以通过以下方式访问此变量:

import os

api_id = os.getenv('API_ID')

冗余代码

只需创建一个utils.py,然后将它们另存为函数即可。