繁体   English   中英

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

[英]Global Variables/Functions in Flask app

我是Flask和Python的新手,目前正在创建一个小型Web应用程序。 它具有的文件是:Main(仅运行应用程序),Activate,Checkout,Payment。

我在其他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导入吗?

凭证变量

使用敏感变量的一般方法是将它们存储为环境变量。 您可以将所有凭据变量保存到项目根目录下的.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 ,将它们另存为函数即可。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM