当前位置: 首页 > 面试题库 >

如何为我的Django项目正确设置DJANGO_SETTINGS_MODULE(我正在使用virtualenv)?

楚雪松
2023-03-14
问题内容

我在为Django项目设置DJANGO_SETTINGS_MODULE时遇到麻烦。

我有一个目录~/dev/django-project。在此目录中,我有一个用virtualenv设置的虚拟环境,还有一个名为“ blossom”的Django项目,其中包含一个名为“ onora”的应用程序。tree -L 3从运行~/dev/django-project/ 向我显示以下内容:

.
├── Procfile
├── blossom
│   ├── __init__.py
│   ├── __init__.pyc
│   ├── fixtures
│   │   └── initial_data_test.yaml
│   ├── manage.py
│   ├── onora
│   │   ├── __init__.py
│   │   ├── __init__.pyc
│   │   ├── admin.py
│   │   ├── admin.pyc
│   │   ├── models.py
│   │   ├── models.pyc
│   │   ├── tests.py
│   │   └── views.py
│   ├── settings.py
│   ├── settings.pyc
│   ├── sqlite3-database
│   ├── urls.py
│   └── urls.pyc
├── blossom-sqlite3-db2
├── requirements.txt
└── virtual_environment
    ├── bin
    │   ├── activate
    │   ├── activate.csh
    │   ├── activate.fish
    │   ├── activate_this.py
    │   ├── django-admin.py
    │   ├── easy_install
    │   ├── easy_install-2.7
    │   ├── gunicorn
    │   ├── gunicorn_django
    │   ├── gunicorn_paster
    │   ├── pip
    │   ├── pip-2.7
    │   ├── python
    │   └── python2.7 -> python
    ├── include
    │   └── python2.7 -> /System/Library/Frameworks/Python.framework/Versions/2.7/include/python2.7
    └── lib
        └── python2.7

我正在尝试使用以下命令从数据库中转储数据

django-admin.py dumpdata

我的方法是先跑cd ~/dev/django-project再跑source virtual_environment/bin/activate再跑django-admin.py dumpdata

但是,我收到以下错误:

ImportError: Settings cannot be imported, because environment variable DJANGO_SETTINGS_MODULE is undefined.

我进行了一些谷歌搜索,发现了以下页面:https : //docs.djangoproject.com/en/dev/topics/settings/#designating-the-settings

告诉我

使用Django时,必须告诉它所使用的设置。通过使用环境变量DJANGO_SETTINGS_MODULE来执行此操作。DJANGO_SETTINGS_MODULE的值应采用Python路径语法,例如mysite.settings。请注意,设置模块应位于Python导入搜索路径上。

在virtualenv下设置DJANGO_SETTINGS_MODULE时有建议吗?我追加了几行

export DJANGO_SETTINGS_MODULE="blossom.settings"
echo $DJANGO_SETTINGS_MODULE

virtual_environment / bin / activate。现在,当我运行activate命令以激活虚拟环境时,输出如下:

DJANGO_SETTINGS_MODULE set to blossom.settings

这对我来说看起来不错,但是现在我的问题是跑步

django-admin.py dumpdata

返回以下错误:

ImportError: Could not import settings 'blossom.settings' (Is it on sys.path?): No module named blossom.settings

我究竟做错了什么?如何检查sys.path?这应该如何工作?


问题答案:

django-admin.py除了最初的项目创建外,请勿运行其他任何内容。对于此后的所有操作,请使用manage.py,它会负责查找设置。



 类似资料:
  • 问题内容: 根据我正在阅读的Django文档,似乎在app文件夹中是一个不错的起点,但是我面临的问题是,当我为创建信号并尝试从模型中导入类时,它与在我的模型中。 此代码将无法运行,因为我Comm_Queue在内部signals.py导入了信号,也在内部也导入了信号models.py。 谁能建议我如何解决这个问题? 问题答案: 对于Django <1.7的原始答案: 你可以通过导入应用程序的文件来注

  • 我尝试在Android Studio中通过常用的refactor->rename方法更改项目名称,但由于它并没有真正更改项目名称,它只是在标题上添加了一个附加项,所以我尝试只更改目录名称本身。因为我也需要改变。但在我做了这件事之后,我尝试重新打开Android Studio,现在它冻结了,弹出了。然后我不得不使用活动监视器来强制退出Android Studio。 那么,有没有合适的方法来改变你现有

  • 遵循几个链接后,尝试不同的解决方案,如添加 我的头和尝试其他解决方案,他们似乎都不起作用。我真的找不到合适的指南来说明在哪里以及如何正确地添加它。在尝试tome SEO(搜索引擎优化)并得到这个错误后,我开始这样做。 在15个请求中设置未来缓存策略 为静态资源定义几天的缓存保留时间将减少服务器上的负载。 过期标头 某些资源正在使用“过期 HTTP 标头”来获取有效的缓存策略:这是最佳做法。但是,您

  • 问题内容: 遵循OnlyOffice帮助中心的说明,将创建由浏览器声明为无效的安全证书,因为它是自签名的。 目的是在适用于NextCloud的Docker上使用OnlyOffice的服务器,该服务器已在另一台服务器上正常运行。 当前,已在说明建议的目录中创建证书: 我已经按照所有给定的步骤进行操作,但是它不起作用。 有没有办法使用LetsEncrypt代替自签名证书? 我不是IT管理人员,我是一个

  • 我正在将我的应用程序部署为WildFly13中的ear存档。ear包含一个war和一个EJB。ejb用于不同的项目。我想将来自war和ejb的信息记录到一个文件中,以便在一个日志文件中获得所发生的全部上下文。 我设法通过logback从war中记录日志,但ejb中的日志不是通过logback记录的。 在我的ear模块中,我的ear文件中有一个jboss-deployment-structure.x

  • 我的gradle项目结构如下所示: 对于子项目,将使用引用gradle任务。 有什么想法让它正常工作吗?