DJANGO_SETTINGS_MODULE设置(MacOS, Linux)

通常来说, 一般需要用到$ python manage.py shell来进入django的shell模式.

如果你需要切换到python shell模式, 或者你想从别的py文件导入django项目的模块. DJANGO会提示需要设置DJANGO_SETTINGS_MODULE, 因为DJANGO需要知道你想要用哪个settings.py(或许是其他名称).

还有一种需要设置DJANGO_SETTINGS_MODULE的情况是, 你重命名了settings.py文件.如果你真的重命名了又djang-admin.py startapp命令创建的settings.py文件, 你回发现manage.py会给出一个错误信息说找不到配置文件.那是由于它尝试从这个文件导入settings模块. 这种情况,只需要$vim manage.py把import settings语句改为重命名后的模块名或者其他settings模块名即可.

有两种方法解决前面说到的问题:

1.在python shell中, 通过导入settings配置即可:
>>> from django.conf import settings
>>> settings.configure()
>>> from mysite.app.models import Artists
>>> a = Artists.objects.all()
>>> a
通常如果import models.Artists这步没有Error就证明成功了. 接下来的就需要配置settings.DATABASA, 这里不详细讲解.

2.手动添加当前项目DJANGO_SETTINGS_MODULE环境变量:
步骤一.在teminal中将项目路径和上一级路径添加到PYTHONPATH中:

$ export PYTHONPATH="$PYTHONPATH:/path/to/mysite/"
$ export PYTHONPATH="$PYTHONPATH:/path/to"
另外提示一下, 在python shell中, 可以这样添加环境变量, 只是每次重启shell都会清空新加入的路径:

>>> import sys
>>> sys.path.append("/path/to/mysite")
步骤二.设置DJANGO_SETTINGS_MODULE环境变量:

$ export DJANGO_SETTINGS_MODULE=mysite.settings
在windows的中, 改为:

set DJANGO_SETTINGS_MODULE=mysite.settings
以上环境变量会在下次重启terminal自动清空, 因此可以把以上的路径添加在python的环境变量中, 下次自动载入.

一种配置python环境变量的办法:
在python的包中找到site-packages文件夹, 新建.pth文件. 在Mac自带python中, 这个文件夹的路径是:

/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/site-packages

cd进这个文件夹, 然后输入vim创建.pth文件

$ vim .pth
在vim模式中, 按 i 输入:

# Setting for path for my project
/Users/Lozio/
/Users/Lozio/mysite
输入完毕后, 按 Esc 再输入 :wq 保存退出.

这样每次在ternimal中先输入

export DAJNGO_SETTINGS_MODULE=mysite.settings
再进入python shell就可以了导入django模块了(完).

你可能感兴趣的:(DJANGO_SETTINGS_MODULE设置(MacOS, Linux))