django-admin.py 'не распознается как внутренняя или внешняя команда [duplicate]

Короткие и простые: поскольку элементы, которые вы ищете, не существуют в документе (пока).


В оставшуюся часть этого ответа я буду использовать getElementById как пример, но то же самое относится к getElementsByTagName , querySelector и любому другому методу DOM, который выбирает элементы.

Возможные причины

Есть две причины, по которым элемент может не существовать:

  1. Элемент с переданным идентификатором действительно не существует в документе. Вы должны дважды проверить, что идентификатор, который вы передаете на getElementById, действительно соответствует идентификатору существующего элемента в (сгенерированном) HTML и что у вас не было с ошибкой идентификатор (идентификаторы чувствительный !). Кстати, в большинстве современных браузеров , которые реализуют методы querySelector() и querySelectorAll(), нотация стиля CSS используется для извлечения элемента его id, например: document.querySelector('#elementID'), в отличие от способа, с помощью которого элемент извлекается его id в [[16]; в первом символе # необходимо, во втором это приведет к тому, что элемент не будет извлечен.
  2. Элемент не существует в данный момент , который вы вызываете getElementById ].

Последний случай довольно распространен. Браузеры анализируют и обрабатывают HTML сверху вниз. Это означает, что любой вызов элемента DOM, который встречается до появления этого элемента DOM в HTML, не будет выполнен.

Рассмотрим следующий пример:



Появляется div после script. В настоящий момент сценарий выполняется, элемент не существует , но и getElementById вернут null.

jQuery

То же самое относится к все селекторы с jQuery. jQuery не найдет элементов, если вы ошибочно написали ваш селектор, или вы пытаетесь выбрать их , прежде чем они на самом деле существуют .

Добавленный поворот - это когда jQuery не найден потому, что вы загрузили скрипт без протокола и запускаетесь из файловой системы:


этот синтаксис используется, чтобы позволить сценарию загружаться через HTTPS на странице с протоколом https: // и для загрузки HTTP-версии на странице с протоколом http: //

У этого есть неудачный побочный эффект попытки и невозможность загрузить file://somecdn.somewhere.com...


Решения

Прежде чем позвонить getElementById (или любой метод DOM, если на то пошло), убедитесь, что существуют элементы, к которым вы хотите получить доступ, т.е. загружается DOM.

Это может быть обеспечено просто добавив ваш JavaScript после к соответствующему элементу DOM

, и в этом случае вы также можете поместить код непосредственно перед тегом закрывающего тела () (все DOM элементы будут доступны в момент выполнения скрипта). [/ g3 6]

Другие решения включают прослушивание событий load [MDN] или DOMContentLoaded [MDN] . В этих случаях не имеет значения, где в документе вы помещаете код JavaScript, вам просто нужно запомнить, чтобы весь обработчик DOM обрабатывался в обработчиках событий.

Пример:

window.onload = function() {
    // process DOM elements here
};

// or

// does not work IE 8 and below
document.addEventListener('DOMContentLoaded', function() {
    // process DOM elements here
});

Более подробную информацию об обработке событий и различиях браузера см. в статьях на странице quirksmode.org .

jQuery

Сначала убедитесь, что jQuery загружен правильно , Используйте инструменты разработчика браузера , чтобы узнать, был ли найден файл jQuery и исправлен ли URL-адрес, если он не был (например, добавьте схему http: или https: в начале, отрегулируйте путь, и т. д.)

Прослушивание событий load / DOMContentLoaded - это именно то, что делает jQuery с .ready() [docs] . Весь ваш код jQuery, который влияет на элемент DOM, должен находиться внутри этого обработчика событий.

На самом деле в учебнике j8uery явно указано:

Как почти все, что мы делаем при использовании jQuery, читает или манипулирует объектной моделью документа (DOM), мы должны убедиться, что мы начинаем добавлять события и т. д., как только DOM готов.

Для этого мы регистрируем готовое событие для документа.

$(document).ready(function() {
   // do stuff when DOM is ready
});
blockquote>

В качестве альтернативы вы также можете использовать сокращенный синтаксис:

$(function() {
    // do stuff when DOM is ready
});

Оба эквивалентны.

4
задан user216485 21 July 2013 в 06:44
поделиться

8 ответов

эта работа для меня python 2.6.6 django 1.6.11 python C:\Python26\Scripts\django-admin.py startproject myapplication

1
ответ дан A.Smahri 17 August 2018 в 20:38
поделиться

Вам нужно установить django. Кажется, вы только что загрузили его и расширили архив.

  1. Установить setuptools
  2. Установить pip
  3. Откройте командную строку, а затем введите pip install -U django (или вы можете загрузить установщик окон ).

После того, как вы сделали вышеуказанные шаги , вы должны убедиться, что C:\Python27\Scripts находится в вашем PATH; в противном случае команды не будут работать.

Чтобы установить PATH, перейдите к Environment Variables с My Computer (щелкните правой кнопкой мыши, а затем перейдите в «Управление», затем влево «Дополнительные настройки»).

Наконец, вам нужно запустить python django-admin.py, а не django-admin.py

0
ответ дан Burhan Khalid 17 August 2018 в 20:38
поделиться
  • 1
    по-прежнему дает такую ​​же ошибку после попытки этого: / – user216485 21 July 2013 в 17:03
  • 2
    По мере того, как вы упоминаете, я слежу за всем шагом. Я использую python33. Я устанавливаю путь C: \ Python33 \ Tools \ Scripts или Мой путь похожи на этот C: \ Python33; C: \ Python33 \ Lib \ site-packages; C: \ Python33 \ Tools \ Scripts, но также я получаю такую ​​же ошибку. python django-adming.py python: невозможно открыть файл 'django-adming.py': [Errno 2] Нет такого файла или каталога – Amrit Dhungana 17 October 2013 в 07:15
  • 3
    django-admin.py не django-adming.py – Burhan Khalid 17 October 2013 в 07:50

Попробуйте использовать. exe вместо .py. Это сработало для меня

0
ответ дан Čhįŕąğ Ąğhì 17 August 2018 в 20:38
поделиться
  • 1
    добавить какое-то соответствующее объяснение – Vikrant 31 July 2018 в 12:01

У меня такая же проблема, потому что я установил Django вручную. Решение для решения:

  1. Установите Python https://www.python.org/downloads/ (если не установлен)
  2. Проверьте свои Путь: https://stackoverflow.com/a/17836439 Это очень важно или следующая работа.
  3. Установите setuptool: Загрузите файл .py здесь: https : //bootstrap.pypa.io/ez_setup.py и выполнить это с помощью python.
  4. Установить PIP с помощью этой команды: easy_install pip
  5. Очистить Django: pip uninstall django
  6. установить Django: pip install django
  7. выполнить django-admin.py startproject mysite и наслаждаться.

Если нет, проверьте django-admin-script.py startproject mysite. Если все в порядке, ваша установка django неверна.

Извините за мой плохой английский, я французский:)

4
ответ дан Community 17 August 2018 в 20:38
поделиться

Для окон «django-admin» вам нужно создать проект .exe-файл не является .py-файлом, и он присутствует в следующем месте: C: \ Python27 \ Scripts, поэтому вам нужно добавить это местоположение на ваш путь.

5
ответ дан Gurjyot Singh 17 August 2018 в 20:38
поделиться

скопируйте файл Django-admin.exe в папку, которую вы используете. файл можно найти в python / python (version) / scripts. когда вы закончите, папка должна появиться в имени вашего файла

0
ответ дан HELP 17 August 2018 в 20:38
поделиться

Попробуйте следующее: django-admin startproject mysite

1
ответ дан Martin Mogusu 17 August 2018 в 20:38
поделиться

Найдите папку, в которой находится django-admin.py. Затем перейдите в Панель управления> Система> Дополнительные параметры системы> Переменные среды. В пользовательских переменных и / или системных переменных выполните поиск записи с именем PATH. Измените его, добавив папку, которую вы обнаружили ранее, используйте другие записи в качестве руководства, в основном просто убедитесь, что они разделены ;. Если вы сделали все эти шаги, но все еще находитесь в том же приглашении cmd, которое вы использовали, прежде чем делать это, закройте его и откройте новый, чтобы он набирал ваши изменения.

8
ответ дан user 17 August 2018 в 20:38
поделиться
  • 1
    после того как я снова запустил cmd и запустил django-project.py startproject mysite, он спрашивает меня, что я хочу открыть файл. Каждый раз, когда я выбираю файл python.py, ничего не происходит, поэтому я попытался выбрать файл pythonw.py и до сих пор ничего не происходит. – user216485 21 July 2013 в 06:51
  • 2
    хорошо, спасибо, спасибо – user216485 21 July 2013 в 06:59
  • 3
    Загрузите этот скрипт: bitbucket.org/pypa/setuptools/downloads/ez_setup.py и запустите его, чтобы установить SetupTools. После успешного запуска закройте командную строку и откройте новую. Теперь запустите easy_install django. В моей системе я затем создал C: \ test, после того как Django закончил установку, я побежал django-admin.py startproject testproject, заменил testproject тем, что вы хотите назвать своим проектом. – user 21 July 2013 в 07:03
  • 4
    с чем я запускаю ez_setup.py? когда я дважды щелкаю файл или пытаюсь запустить его с помощью cmd, он спрашивает, с чего я хочу открыть. Я выбрал pythonw.py, но это ничего не делает .. ну, похоже, ничего не делает .. EDIT: nevermind, я сделал python ez_setup.py, он работал именно так – user216485 21 July 2013 в 07:07
  • 5
    Вы откроете подсказку cmd, cd в папку, в которую вы ее загрузили, и запустите ее, как python ez_setup.py. – user 21 July 2013 в 07:09
Другие вопросы по тегам:

Похожие вопросы: