【问题标题】:Environment Variables, error: django.core.exceptions.ImproperlyConfigured: The INSTALLED_APPS setting must be a list or a tuple环境变量,错误:django.core.exceptions.ImproperlyConfigured:INSTALLED_APPS 设置必须是列表或元组
【发布时间】:2019-08-27 16:55:31
【问题描述】:

我正在使用 virtualenv 创建的 venv 中设置环境变量。 我创建了两个脚本:postactivate 和 preactivate,我遵循的命令顺序是:source venv/bin/activatesource venv/bin/postactivate 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', 
                  ]"

我希望你能帮助我。

【问题讨论】:

  • 您也可以发布您的设置文件吗?看起来您正在将环境中的 INSTALLED_APPS 设置为字符串。如果您在设置文件中有这样的一行:INSTALLED_APPS = os.environ.get('INSTALLED_APPS'),您可以尝试将其更改为 INSTALLED_APPS = json.loads(os.environ.get('INSTALLED_APPS'))
  • 是的,那是我的错误,真的我花了大约 2 个小时试图找到问题,真的谢谢!!!
  • 不客气。
  • @OzgurAkcali 您应该重新发布您的评论作为答案,以便 OP 可以接受它。
  • @brunodesthuilliers 现在发布,谢谢

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


【解决方案1】:

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

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

你可以试试改成

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

【讨论】:

    猜你喜欢
    • 2014-08-07
    • 1970-01-01
    • 2014-12-03
    • 2016-05-20
    • 2023-02-02
    • 2020-11-18
    • 2016-05-13
    • 2021-04-18
    • 2015-11-23
    相关资源
    最近更新 更多