Запуск Джанго из IDLE - PullRequest
       32

Запуск Джанго из IDLE

4 голосов
/ 20 сентября 2009

Я хочу протестировать мою оболочку IDLE из проекта django в Windows. Я запускаю следующие команды

from django.template import Template, Context
t = Template('test template')

но я получаю следующую ошибку.

Traceback (most recent call last):


File "<pyshell#1>", line 1, in <module>
    t = Template('test template')
  File "C:\Program Files\Python26\lib\site-packages\django\template\__init__.py", line 164, in __init__
    if settings.TEMPLATE_DEBUG and origin is None:
  File "C:\Program Files\Python26\lib\site-packages\django\conf\__init__.py", line 28, in __getattr__
    self._import_settings()
  File "C:\Program Files\Python26\lib\site-packages\django\conf\__init__.py", line 59, in _import_settings
    self._target = Settings(settings_module)
  File "C:\Program Files\Python26\lib\site-packages\django\conf\__init__.py", line 94, in __init__
    raise ImportError, "Could not import settings '%s' (Is it on sys.path? Does it have syntax errors?): %s" % (self.SETTINGS_MODULE, e)
ImportError: Could not import settings 'C:\Program Files\Python26\Lib\site-packages\django\conf' (Is it on sys.path? Does it have syntax errors?): Import by filename is not supported.

Вы можете мне помочь?

Ответы [ 5 ]

2 голосов
/ 20 сентября 2009

Django должен загрузить несколько файлов, таких как ваши settings.py. Чтобы помочь с этой задачей, Django поставляется с собственной оболочкой (которая может быть IDLE). Если у вас установлен IPython , Django будет использовать его вместо

.

Чтобы попасть в оболочку, используйте файл manage.py в корневом каталоге:

python manage.py shell

Если вы все еще действительно хотите использовать IDLE полностью вне области действия «./manage.py shell», посмотрите файл manage.py, чтобы увидеть, как Django загружается во все необходимые файлы.

В качестве бонуса, посмотрите django-command-extensions для shell_plus (он предоставляет некоторые приятные дополнительные функции, такие как автоматическая загрузка всех ваших моделей).

0 голосов
/ 06 июля 2018

Вам нужно только запустить IDLE из директории проекта Django. Если вы используете virtualenv:

cd /your/virtualenv/directory
. bin/activate
cd project_directory
python -m idlelib.idle

Вот и все. Вы можете импортировать и запустить любой модуль и функцию из вашего проекта Django.

0 голосов
/ 23 марта 2017

Предположим, вы работаете в Windows:

  1. Щелкните правой кнопкой мыши на вашей IDLE-ссылке, чтобы получить свойства. Измените целевой путь на путь, по которому выполняется ваш django-проект (каталог с вашим файлом manage.py.
  2. начало IDLE
  3. Выполнить

    import os; os.environ.setdefault ( "DJANGO_SETTINGS_MODULE", "my_project_root_name.settings")

Теперь у вашего IDLE установлен правильный контекст, чтобы знать ваши настройки и выполнять классы в вашем django-пути.

Пожалуйста, скажите мне, если вы можете придумать еще более элегантный способ. (Протестировано под Win 10 с Python 3.6)

0 голосов
/ 26 июля 2014

Чтобы использовать idle из cmd, я сделал следующее в Windows 7:

  1. Убедитесь, что переменная системной среды Path содержит путь к местоположению idle.py (например, C: \ Python27 \ Lib \ idlelib). Пока я был там, я также позаботился о том, чтобы включены и python, и папка Scripts (последняя содержит django-manage.py при установке pip)

    Путь: C: \ Python27 \; C: \ Python27 \ Scripts; C: \ Python27 \ Lib \ idlelib; ...

    Указанные выше пути могут отличаться в зависимости от вашей установки python,

  2. Необязательно: чтобы не вводить расширение .py, я удостоверился, что переменная системной среды PATHTEXT содержит расширение .PY.

    PATHTEXT : .COM; .EXE; ... .py

Теперь все, что я делаю во время работы с cmd, это введите следующее для запуска в режиме ожидания:

  • Открыть файл в режиме ожидания (находясь в той же директории):

    idle models.py
    

    это откроет файл models.py для редактирования в режиме ожидания

  • Откройте оболочку, используя idle (находясь в том же каталоге, что и manage.py)

    idle -r manage.py shell
    

ПРИМЕЧАНИЕ : если .PY отсутствует в переменной системной среды PATHTEXT, вам может потребоваться добавить расширение .py в idle

И вот, теперь у вас есть возможность использовать IDLE. Надеюсь, это поможет.

0 голосов
/ 26 апреля 2012

Создайте ярлык, а затем измените его, чтобы аргументы были похожи на эти:

C:\Python27\pythonw.exe c:\Python27\lib\idlelib\idle.py -r d:\projects\project_X\manage.py shell

если у вас PYTHONSTARTUP в Windows, он запустится, но затем запустит новый процесс, потеряв все функции, которые вы могли определить в PYTHONSTARTUP файле.

По сути, вы увидите, что он запускается дважды ниже (первый раз зеленым, затем красным):

Python 2.7.2 (по умолчанию, 12 июня 2011 г., 15:08:59) [MSC v.1500 32 бит (Intel)] на win32 Для получения дополнительной информации введите copyright, credits или license().

startup.py только что запустил

Python 2.7.2 (по умолчанию, 12 июня 2011 г., 15:08:59) [MSC v.1500 32 бит (Intel)] на win32 Для получения дополнительной информации введите help, copyright, credits или license, (InteractiveConsole)

это было так до установки виртуальных env, shell_plus и ipython. один из этих 3 подключил его - теперь мусор в консоли IDLE:

0; 32 мин в 1; 32 мл 0; 32 м: 0 м

...