Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

DJANGO_SETTINGS_MODULE is undefined

when i input from django.db import models into IDLE,the result throw a exception named Settings cannot be imported, because environment variable DJANGO_SETTINGS_MODULE is undefined. why does this exception occur and how i can fix it

like image 612
lioncin Avatar asked Sep 20 '11 02:09

lioncin


3 Answers

You can use python manage.py shell instead of using IDLE.

manage.py reads and uses django settings including DJANGO_SETTINGS_MODULE.

like image 121
t-shimizu Avatar answered Nov 04 '22 13:11

t-shimizu


Ensure, if not, follow the way to Quick Start:

Assumptions:

  1. You have installed python on c:\ i.e., c:\python27
  2. You have installed Django 1.3 in same folder i.e., c:\python27

Step 1:

First you need to set system path for django-admin.py with:

 set DJANGO_PATH="c:\python27\scripts"

so that you will able to run django-admin.py from anywhere where you want to create DJango project.

Step 2:

Now go to c:\python27\ and run following syntax to create test project:

   django-admin.py startproject mysite  

Here "mysite" is our project name, you can choose whatever you want.

Now you project is created you can check this in c:\python27\ in folder named mysite\

Step 3:

Now go to python shell at c:\python27

set environment variable "DJANGO_SETTINGS_MODULE" with:

   >>> import os
   >>> os.environ['DJANGO_SETTINGS_MODULE']='mysite.settings'

Here " mysite " is project name which we created in step 2.

All basic setups are done now you can run your command

 from django.db import models<br>

If problem still persist please review all steps or reply me.

like image 6
Vishal Bandre Avatar answered Nov 04 '22 12:11

Vishal Bandre


Don't run django-admin.py for anything other than the initial project creation. For everything after that, use manage.py, which takes care of the finding the settings.

like image 5
Max Moneta Avatar answered Nov 04 '22 11:11

Max Moneta