似乎无法正确设置我的Django项目

时间:2017-04-29 17:51:03

标签: python linux django

我正在尝试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

1 个答案:

答案 0 :(得分:0)

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

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

我不确定如何在Archlinux上执行此操作,但unset DJANGO_SETTINGS_MODULEset -e DJANGO_SETTINGS_MODULE之类的内容应该有用。

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