环境变量,错误:django.core.exceptions.ImproperlyConfigured:INSTALLED_APPS设置必须是列表或元组

时间:2019-04-05 18:18:28

标签: django python-3.x environment-variables virtualenv

我正在用virtualenv创建的venv中设置环境变量。 我创建了两个脚本:后激活和预激活,我遵循的命令顺序为:源venv / bin /激活源venv / bin /后激活 python manage.py runserver ,但尝试运行命令 python manage.py runserver 时出现此错误: django.core.exceptions.ImproperlyConfigured:INSTALLED_APPS设置必须为列表或元组。

Y尝试了一些操作:将整个列表仅放在一行中,以便在单引号和双引号之间进行交换,甚至转换为元组。

后激活脚本

export INSTALLED_APPS="[
                    'django.contrib.admin',
                    'django.contrib.auth',
                    'django.contrib.humanize',
                    'django.contrib.contenttypes',
                    'django.contrib.sessions',
                    'django.contrib.messages',
                    'django.contrib.staticfiles',
                    'rest_framework',
                    'rest_framework.authtoken',
                    'custom_user',
                    'corsheaders',
                    'django_s3_storage',
                    'django_ses',
                    'captcha',
                    'embed_video',
                    'bootstrap_forms',
                    'models_simple_trans',
                    'tables',
                    'markdown_filter',
                    'apps.countries',
                    'apps.companies',
                    'apps.organizations',
                    'apps.campaigns',
                    'apps.auctions',
                    'apps.users',
                    'apps.home',
                    'apps.emails',
                    'apps.adminpanel',
                    'apps.payments',
                    'helpers',
                    'celery',
                    'rest_framework_swagger',
                    'django_extensions',
                    'social_django',
                    'mapwidgets',
                    'rosetta',
                    'channels',
                    'django_user_agents',
                    'django.contrib.sitemaps',
                    'django_tables2', 
                  ]"

希望你能帮助我。

1 个答案:

答案 0 :(得分:1)

似乎您正在环境中将INSTALLED_APPS设置为字符串。如果您在设置文件中有这样一行:

INSTALLED_APPS = os.environ.get('INSTALLED_APPS '), 

您可以尝试将其更改为

INSTALLED_APPS = json.loads(os.environ.get('INSTALLED_APPS '))