Загрузите jQuery в Django - PullRequest
       2

Загрузите jQuery в Django

3 голосов
/ 09 сентября 2010

У меня действительно простой вопрос.Я пытаюсь встроить некоторую функциональность AJAX в проект Django.Я планирую использовать JQuery.Прямо сейчас я просто запускаю код локально через Linux.Я тестировал некоторый код здесь , поэтому я достаточно уверен, что он работает.Но я не могу понять, куда поместить исходный код jQuery в сочетании с моими настройками.

Я скачал jQuery и поместил его в то, что я считаю своей папкой Media.Мой файл settings.py выглядит следующим образом:

MEDIA_ROOT = os.path.join(PROJECT_DIR, 'books/media/')<br>
MEDIA_URL = 'http://localhost:8000/books/media/'

В моем html-шаблоне я ссылаюсь:

<script type="text/javascript" src="/media/js/jquery-1.4.2.min.js">

Но ни одна из моих функций не работает.Я уверен, что это что-то глупое и очевидное (хотя для меня это явно не очевидно).Как правильно установить исходный код jQuery?

Ответы [ 5 ]

6 голосов
/ 09 сентября 2010

Вы можете жестко закодировать ссылку как

<script type="text/javascript" src="/books/media/js/jquery-1.4.2.min.js">

или если вы визуализируете свой шаблон с RequestContext и используете контекстный процессор django.core.context_processors.media, то вы можете получить доступ к MEDIA_URL в своем шаблоне.

<script type="text/javascript" src="{{ MEDIA_URL }}}js/jquery-1.4.2.min.js">
3 голосов
/ 09 сентября 2010

Полагаю, вам понадобится src="/books/media/js/jquery-1.4.2.min.js"

Также я делаю это таким образом.

<script type="text/javascript" src="http://www.google.com/jsapi"></script>
<script type="text/javascript">
  google.load("jquery", "1.4");
</script>
2 голосов
/ 09 сентября 2010

Вам нужно настроить Django для обслуживания ваших медиа-файлов (в противном случае, обслуживать их с правильного HTTP-сервера). Добавьте следующую строку к вашему url.py:

(r'^mymedia/(?P<path>.*)$', 'django.views.static.serve', {'document_root': settings.MEDIA_ROOT}),

Убедитесь, что вы изменили часть mymedia, чтобы выровнять ее по каталогу мультимедиа.

1 голос
/ 09 сентября 2010

Можете ли вы попробовать следующее:

  1. Получите доступ к URL http://localhost:8000/books/media/js/jquery-1.4.2.min.js с помощью браузера или curl и посмотрите, что получится.

  2. Проверьте конфигурацию URL-адреса и убедитесь, что у вас есть URL-адрес, определенный для показа мультимедиа с использованием статической подачи.

0 голосов
/ 10 июля 2013

Step1: поместите ваш jquery-2.0.3.js в подпапку "static" приложения, как "books / static / jquery-2.0.3.js";

Step2: config your urls.py, добавьте следующую строку:

r('^static/(?P<path>.*)$','django.views.static.serve'),

Step3: в вашем файле шаблона, используйте файл js следующим образом:

<script type="text/javascript" src="/static/jquery-2.0.3.js"></script>

Вот и все.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...