文章标题

在 py manage.py shell 或者 py manage.py makemigrations 时会出现这个错误

django.core.exceptions.ImproperlyConfigured: Requested setting INSTALLED_APPS, but settings are not configured. You must either define the environment variable DJANGO_SETTINGS_MODULE or call settings.configure() before accessing settings.

原因是django启动时找不到配置文件

解决方法是在shell中设置环境变量 DJANGO_SETTINGS_MODULE
如下:
export DJANGO_SETTINGS_MODULE=”[PROJECT].settings”

其中[PROJECT]是django项目的名字
[PROJECT].settings 对应着 工程中的 [PROJECT]/[PROJECT]/settings.py文件

这个问题就解决了! 可以不看后面的了.


另外可以使用autoenv来自动配置这个环境变量.

autoenv的原理是在cd 一个文件夹时执行这个文件夹中的.env脚本文件

autoenv安装方法:

 $ git clone git://github.com/kennethreitz/autoenv.git ~/.autoenv

 $ echo 'source ~/.autoenv/activate.sh' >> ~/.bashrc

安装好后在自己的工程下写一个.env文件:

 projectname=$(basename $PWD)
 export DJANGO_SETTINGS_MODULE="$projectname.settings"

以后cd进入工程目录时会自动设置. 创建新的工程后把这个文件拷贝过去就行了.

参考文章:https://www.reddit.com/r/django/comments/2d85a4/django_settings_module_is_undefined/

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值