17👍
You can’t access and run django projects from python shell. Django doesn’t know what project you want to work on.
You have to do one of these things:
1. python manage.py shell
2. Set DJANGO_SETTINGS_MODULE environment variable in your OS to mysite.settings
3. Use setup_environ in the python interpreter:
from django.core.management import setup_environ
from mysite import settings
setup_environ(settings)
The first one is easiest and best method. Run your code in the django shell.
16👍
If you want to use the template system without the django shell, you can do:
from django.conf import settings
settings.configure()
and after this your code
t = template.Template('My name is {{ name }}.')
- [Django]-Problems extend change_form.html in django admin
- [Django]-How can I get MINIO access and secret key?
- [Django]-Django-nonrel + Django-registration problem: unexpected keyword argument 'uidb36' when resetting password
1👍
I also had the same problem.
The main point is that in the django book 2, this piece of code is not supposed for users to put into a Python IDLE started from your python.exe ( presumably in C:\Program Files\Python33 on Windows).
Rather, it is just showing how the piece of code will look like. The solution is simply run ‘cmd’ and change the directory to your ‘mysite’, and run
python manage.py shell
which ensure that the ‘mysite.settings.py’ is used.
- [Django]-POST jQuery array to Django
- [Django]-Altering one query parameter in a url (Django)
- [Django]-Django + Ajax
1👍
Of course the @Sudipta’s answer works correctly but (just for the future) for the explanation you can also visit the “Creating Template Objects
” -> “A special Python prompt
” section in Django book
- [Django]-UUID as default value in Django model
- [Django]-How to add new languages into Django? My language "Uyghur" or "Uighur" is not supported in Django
- [Django]-Switching to PostgreSQL fails loading datadump
0👍
To fix this issue, you need to run it in python manage.py shell
instead of just python
.
Reason: Well, many parts of Django rely on settings and you won’t be able to use them until it knows which settings file to use. When you run it on python manage.py shell
, Django knows which settings file to use and does the job for you.
- [Django]-Rendering a value as text instead of field inside a Django Form
- [Django]-Django character set with MySQL weirdness
- [Django]-Do we need to upload virtual env on github too?
0👍
The error message states that you need to set the DJANGO_SETTINGS_MODULE
variable.
Running export DJANGO_SETTINGS_MODULE=mysite.settings
, worked for me.
- [Django]-Django-nonrel + Django-registration problem: unexpected keyword argument 'uidb36' when resetting password
- [Django]-Django: guidelines for speeding up template rendering performance
- [Django]-PHP Frameworks (CodeIgniter, Yii, CakePHP) vs. Django