使用条件检查来区分不同的运行环境是一个简单且有效的方法。在您的代码中实现这种策略,可以让您使用同一个代码库在本地和PythonAnywhere上运行,而无需更改任何代码。只需根据运行环境的不同,设置不同的环境变量即可。
以下是如何实施这种策略的具体步骤:
在PythonAnywhere上设置环境变量: 在PythonAnywhere上,您可以通过编辑 .bashrc
文件来设置环境变量。您可以在PythonAnywhere的Bash控制台中执行以下命令来编辑这个文件:
nano ~/.bashrc
在文件的底部添加如下行:
export PYTHONANYWHERE_DOMAIN='your-username.pythonanywhere.com'
保存并关闭文件(在nano编辑器中,使用CTRL + X
,然后按Y
,接着按Enter
键)。然后,运行以下命令以应用更改:
source ~/.bashrc
echo $PYTHONANYWHERE_DOMAIN
在您的Python代码中使用条件检查: 您提供的代码片段正是您需要在应用程序中使用的。只需确保替换 'yourPythonAnywhereUsername'
、'yourPythonAnywherePassword'
、'yourPythonAnywhereHost'
和 'yourPythonAnywhereDbname'
为您在PythonAnywhere上的实际数据库凭证。
import os
?
if os.environ.get('PYTHONANYWHERE_DOMAIN', None):
? ?# PythonAnywhere环境
? ?dbuser = 'yourPythonAnywhereUsername'
? ?dbpass = 'yourPythonAnywherePassword'
? ?dbhost = 'yourPythonAnywhereHost'
? ?dbport = '3306'
? ?dbname = 'yourPythonAnywhereDbname'
else:
? ?# 本地开发环境
? ?dbuser = 'root'
? ?dbpass = 'xxxx'
? ?dbhost = 'localhost'
? ?dbport = '3306'
? ?dbname = 'spb'
在本地环境中运行代码: 当您在本地运行代码时,由于PYTHONANYWHERE_DOMAIN
环境变量不存在,代码将使用else
部分的配置。
在PythonAnywhere环境中运行代码: 当您在PythonAnywhere上运行代码时,PYTHONANYWHERE_DOMAIN
环境变量会被设置,因此代码将使用if
部分的配置。
通过这种方式,您可以确保在提交到公共代码仓库时不会泄露任何敏感信息,并且可以在不同的环境中无缝地运行相同的代码。记得在提交代码之前,检查您的 .gitignore
文件,确保它包含了所有应该被忽略的文件,比如本地的配置文件或.env
文件。