我在为我的Django项目设置django_settings_module时遇到了一些问题.

我有一个号码簿,号码是~/dev/django-project.在这个目录中,我有一个用viralenv设置的虚拟环境,还有一个名为"blossom"的Django项目,里面有一个名为"onora"的应用程序.从~/dev/django-project/开始运行tree -L 3向我展示了以下内容:

.
├── 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上 导入搜索路径.

按照Setting DJANGO_SETTINGS_MODULE under virtualenv?分的建议,我在后面加上了几行

export DJANGO_SETTINGS_MODULE="blossom.settings"
echo $DJANGO_SETTINGS_MODULE

至虚拟环境/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相关问答推荐

如何在Django中将可选参数传递给视图?

试图找出投票的总数,但无法理解它是如何在序列化器中完成的.我是Django的新手,它是如何完成的?

Django Form标签和action属性

SQLite上可以正常使用Many2Many链接注释,但MariaDB上无法正常使用(生产环境)

使用 Pytest 在 Django 中编写测试用例时如何加载特定目录中的所有固定装置

如何在 createsuperuser 中实例化表

断开连接不会发生

在 Django Admin change_list 视图中更改 list_editable 字段时保存 Django 模型

django - 表单没有错误,但 form.is_valid() 没有验证

Django JSONField 过滤

如何测试某个日志(log)消息是否记录在 Django 测试用例中?

创建新内容类型时出错.请确保在try 单独迁移应用程序之前迁移内容类型

可以在 github 页面上托管 django 站点吗?

带有消息判断的 Django/Python assertRaises

获取 Django 表单中的错误列表

Django 模板和变量属性

Celery - 在一台服务器上运行不同的工作人员

django 我们可以在预取相关模型上 Select 一个字段吗?

Numpy 数组到 base64 并返回到 Numpy 数组 - Python

Django中'related_name'和'related_query_name'属性之间的区别?