Найти - Пользователи
Полная версия: Django. ajaxSubmit не обновляет слой
Начало » Django » Django. ajaxSubmit не обновляет слой
1
dissdoc
Всем привет еще раз. Обнаружилась еще одна проблема во время авторизации пользователя. Есть вот такой кусок когда в шаблоне
<div id="test">
{% if person.is_auth %}
<p>hi</p>
{% else %}
<p>bye</p>
{% endif %}
</div>
В самом скрипте главнй кусок тут
var options = {
....
target: '#test',
....
}
проблема в том, что куски это не обновляется.. Те. не обновляется кусок, где стоят куски от Django (начиная от if и до endif )
Проверял без этого - все нормально
Есть ли какие-то хитрые условия использования обновления с помощью jQuery куска шаблона с командами шаблонизатора Django?
P.S. Сразу хочу ответить на вопросы. Проверено без jQuery - все норм. Даже когда вхожу с jQuery и ничего не обновляется - нажимаю F5 и все нормально обновляется. А с jQuery никак ((
dissdoc
После кучи дебага и изучения отдачи и получения данных обнаружил такую прескорбную штуку..
не обновляется [% url main %}. Т.е. он так и остается {% url main %}, а не преобразовывается в http://localhost! Это происходит как раз в JS-скрипте. Как заставить преобразовывать шаблоны Django в JS?
pill
Выглядит так будто шаблоны у вас через рендеринг не проходят.
покажите вьюшку в которой вы их отдаете.

ЗЫ: Вы ведь вызываете render_to_string перед отдачей шаблона?
dissdoc
Вы не поняли.. Первый пост - отрабатывает нормально когда нет jQuery
разберем на элементарном примере.
Я же просто дал имя url
url(r'^$', direct_to_template, {'template': 'index.html'}, name = 'main')
И просто делаю в js
window.location = '{% url main %}'
В результате вместо перенаправления на http://localhost перенаправляюсь по ссылке {% url main %} :)
dissdoc
Проблема решена костылями.
Собственно проблема почему-то в том, что js-скрипты у меня расположены в отделных файлах и подгружаются по мере надобности. В результате имею вышеописанную ошибку, когда добавляю еще и шаблоны в скрипты
Решение у меня простое в шаблоне (основном) создал глобальную переменную в js
var location = '{% url main %}';
И все заработало
This is a "lo-fi" version of our main content. To view the full version with more information, formatting and images, please click here.
Powered by DjangoBB