Форум сайта python.su
Feci quod potui faciant meliora potentes.
Офлайн
Porta itineri longissima. Experientia est optima magistra.
Офлайн
regallУстановилprincipalaЕстественно такое не работает, так как яваскрипт ищется в корне домена http://vashsite.com/js/jquery.js (слэш в начале пути)
<script type=“text/javascript” src="/js/jquery.js"></script>
Может все-таки так:
<script type=“text/javascript” src=“{{MEDIA_ROOT}}/js/jquery.js”></script>
Офлайн
Зато сработала вот такая конструкция! )
<script type=“text/javascript”>{% include “jquery.js” %}</script>
Но при этом jquery.js должен располагаться в папке с шаблонами.
Немного горбато получилось.
Офлайн
Ad primos ictus non corruit ardua quercus.
Офлайн
А почему MEDIA_ROOT, проинициализированный в settings.py каким-нибудь путем, в выводе шаблона отображает пустую строку?
Офлайн
Потому что для этого есть media_url. Значит так и не пытались разобратся что к чему.
А поиском по какой причине не пользуетесь?
Офлайн
Ура! Получилось, так как хотел!
Для учебного варианта сойдет =)
1)
#settings.py
сделал небольшой апгрейд, для универсальности
import os
PROJECT_PATH = os.path.abspath( os.path.dirname(__file__) )
MEDIA_ROOT = os.path.join(PROJECT_PATH, ‘media’)
MEDIA_URL = ‘/media/’
ADMIN_MEDIA_PREFIX = ‘/amedia/’
TEMPLATE_DIRS = (
os.path.join(PROJECT_PATH, ‘templates’)
)
2)
в urls.py проекта добавляем:
from django.conf import settings
if settings.DEBUG:
urlpatterns += patterns('',
(r'^media/(?P<path>.*)', ‘django.views.static.serve’,
{'document_root':settings.MEDIA_ROOT,'show_indexes': True}),
)
3)
для apache все строчки, которые переводят управление статикой на веб-сервер комментируем:
#<Location “/media”>
# SetHandler None
#</Location>
#<LocationMatch “\.(jpg|gif|png|js)$”>
# SetHandler None
#</LocationMatch>
4)
подключение javascript в шаблоне мастырим так:
<script type=“text/javascript” src=“{{ MEDIA_URL }}js/jquery.js”></script>
Вуаля! Все работает!
Всем спасибо за помощь и терпение!
Офлайн
Не вздумайте так в продакшине делать.
Офлайн
FerromanЭто я уже понял. Спасибо)
Не вздумайте так в продакшине делать.
Офлайн