【问题标题】:Can't seem to setup my Django project properly似乎无法正确设置我的 Django 项目
【发布时间】:2017-04-29 17:51:03
【问题描述】:

我正在尝试official tutorial of Django,因为我想学习它。我运行 Archlinux 4.10.11-1 64 位

首先,我创建了一个名为 djangoapp 的文件夹,用于设置我的虚拟环境:

$ virtualenv djangoapp

我将当前目录设置为这个文件夹,然后我激活了它:

$ source bin/activate

然后我安装了 Django:

$ pip install django

按照教程,我跑了:

$ django-admin startproject djangoapp

并将我的当前目录设置为 djangoapp,然后运行:

$ python manage.py runserver

但我收到以下错误:

django.core.exceptions.ImproperlyConfigured:请求设置 DEBUG,但未配置设置。您必须在访问设置之前定义环境变量 DJANGO_SETTINGS_MODULE 或调用 settings.configure()。

确实,运行 env | grep DJANGO_SETTINGS_MODULE 会得到以下结果:

DJANGO_SETTINGS_MODULE=

所以我尝试手动设置:

$ export DJANGO_SETTINGS_MODULE='djangoapp.settings'

现在运行 $ python manage.py runserver 可以工作,但 $ django-admin help 现在得到以下错误:

ModuleNotFoundError: 没有名为“djangoapp”的模块

我做错了什么?感谢您的帮助!

PS:$ python --version 得到我 Python 3.6.1

【问题讨论】:

    标签: python linux django


    【解决方案1】:

    我认为文档可能对此更清楚一些,但django-admin 通常仅用于运行django-admin startprojectmanage.py 用于其余部分,例如./manage.py runserver./manage.py migrate

    删除DJANGO_SETTINGS_MODULE 环境变量应该允许您在djangoapp 文件夹中运行./manage.py *django-admin startproject 命令。

    我不确定如何在 Archlinux 上执行此操作,但 unset DJANGO_SETTINGS_MODULEset -e DJANGO_SETTINGS_MODULE 之类的应该可以工作。

    更多信息:您可以将manage.py 视为django-admin 的包装器,它自动设置PYTHONPATHDJANGO_SETTINGS_MODULE 环境变量。因此,一旦进入项目,您可以直接使用./manage.py 而不是django-admin 来运行管理命令。

    【讨论】:

    • 感谢您的回复!如果我取消设置 DJANGO_SETTINGS_MODULE,我可以运行 ./manage.py。但是,如果我运行 django-admin,最后会得到以下用红色写的结果:注意,只有 Django 核心命令被列为设置未正确配置(错误:请求设置 INSTALLED_APPS,但未配置设置。您必须要么在访问设置之前定义环境变量 DJANGO_SETTINGS_MODULE 或调用 settings.configure()。)。
    猜你喜欢
    • 1970-01-01
    • 2013-07-18
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2021-07-23
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多