【发布时间】:2021-03-31 10:53:19
【问题描述】:
您好,我有使用 Virtualenvwrapper 的 django 项目。 我使用 VSCode 并在终端中为我工作等。 我有 3 个文件设置来在本地服务器和 VPS 服务器中运行项目。 我从设置中删除了我的 SECRET_KEY 和所有带有 json 文件代码的文件。 并像这样运行项目: 工作环境名称 (env_name) 在 my_project 上工作 python manage.py runserver --settings settings.local2 这适用于这样的文件: 像这样:
from my_project.settings import *
import json
import os
BASE_DIR = os.path.dirname(os.path.dirname(os.path.abspath(__file__)))
with open('keys_my_project.json') as config_file:
config = json.load(config_file)
SECRET_KEY = config['SECRET_KEY']
DATABASES = {
'default': {
'ENGINE': 'django.db.backends.postgresql_psycopg2',
'NAME': config['NAME'],
'USER': config['USER'],
'PASSWORD': config['PASSWORD'],
'HOST': config['HOST'],
'PORT': '5432',
}
}
DEBUG = True
ALLOWED_HOSTS = []
STATICFILES_DIRS = [
os.path.join(BASE_DIR, "static"),
]
STATIC_ROOT = os.path.join(BASE_DIR, 'static_root')
MEDIA_ROOT = os.path.join(BASE_DIR, 'media')
现在我在使用 VSCode 调试器时遇到了问题:
{
"name": "my_project django",
"type": "python",
"request": "launch",
"program": "my_project/manage.py",
"args": ["runserver --settings settings.local2"],
"django": true
}
我的错误:
Exception has occurred: ImproperlyConfigured
The SECRET_KEY setting must not be empty.
File "my_project\manage.py", line 18, in main
execute_from_command_line(sys.argv)
File "my_project\manage.py", line 22, in <module>
main()
为什么我的 VSCode 调试器不读取设置文件中的 json?
ps。我的manage.py
import os
import sys
def main():
"""Run administrative tasks."""
os.environ.setdefault('DJANGO_SETTINGS_MODULE', 'my_settings.settings')
try:
from django.core.management import execute_from_command_line
except ImportError as exc:
raise ImportError(
"Couldn't import Django. Are you sure it's installed and "
"available on your PYTHONPATH environment variable? Did you "
"forget to activate a virtual environment?"
) from exc
execute_from_command_line(sys.argv)
if __name__ == '__main__':
main()
【问题讨论】:
标签: django visual-studio-code virtual-machine virtualenvwrapper