Уведомления

Группа в Telegram: @pythonsu

#1 Авг. 15, 2014 10:39:06

VadimR
Зарегистрирован: 2013-06-06
Сообщения: 14
Репутация: +  1  -
Профиль   Отправить e-mail  

шаблоны и ajax

Лучи добра.
Вопрос скорее, наверно, архитектурный чем технический. Делаю сайт для внутреннего пользования на джанге, активно юзаю ajax.

Есть некоторый код на джаваскрипте:

	$('a[data-type="ajax"]').click(function() {
		$('a[class="active"]').removeAttr('class');
		$(this).addClass('active');
		
		var url = $(this).attr('href');
        $.ajax({
            url: url + '?ajax=1',
            success: function(data){
                $('#page-wrapper').html(data);
            }
        });
        if(url != window.location){
            window.history.pushState(null, null, url);
        }
        return false;
    });
При нажатии на ссылку мы подгружаем контент и меняем строку url в браузере. Сама проблема возникает с джанговскими шаблонами, т.к. у нас есть два варианта поведения:
1) пользователь переходит по прямой ссылке и рендерится шаблончик со всей страничкой
2) идет запрос к страничке с параметром ?ajax=1 и отдается только часть страницы
Как бы делать два шаблона (один с наследованием, другой без) делать не хочется. Подскажите рабу системы как лучше поступить в данной ситуации.

Офлайн

#2 Авг. 15, 2014 10:55:35

FishHook
От:
Зарегистрирован: 2011-01-08
Сообщения: 8312
Репутация: +  568  -
Профиль   Отправить e-mail  

шаблоны и ajax

По идее, ajax не должен возвращать никакую разметку и стили, только данные. Используйте какой-нибудь javascrip-MVC фреймворк и подобных вопросов возникать не будет, например angularjs.



Офлайн

#3 Авг. 15, 2014 11:10:59

Singularity
Зарегистрирован: 2011-07-28
Сообщения: 1387
Репутация: +  75  -
Профиль   Отправить e-mail  

шаблоны и ajax

FishHook
а ты ангуляр юзаешь?

Офлайн

#4 Авг. 15, 2014 11:15:49

VadimR
Зарегистрирован: 2013-06-06
Сообщения: 14
Репутация: +  1  -
Профиль   Отправить e-mail  

шаблоны и ajax

Вообще как бы уже все написано и изучать пока фрэймворки не хочется. Сейчас все работает без изменения урлов, сие хочется исправить.

Офлайн

#5 Авг. 15, 2014 11:27:35

FishHook
От:
Зарегистрирован: 2011-01-08
Сообщения: 8312
Репутация: +  568  -
Профиль   Отправить e-mail  

шаблоны и ajax

Singularity
FishHookа ты ангуляр юзаешь?
Юзаю. С какого-то момента перешли целиком на него. Сильно сберегает нервы.



Офлайн

#6 Авг. 15, 2014 11:35:46

Singularity
Зарегистрирован: 2011-07-28
Сообщения: 1387
Репутация: +  75  -
Профиль   Отправить e-mail  

шаблоны и ajax

FishHook
а почему не всякие Марионетте? Говорят что оно лучче ангуляра правда с ним разобраться сложнее.

Офлайн

#7 Авг. 15, 2014 11:50:17

FishHook
От:
Зарегистрирован: 2011-01-08
Сообщения: 8312
Репутация: +  568  -
Профиль   Отправить e-mail  

шаблоны и ajax

Singularity
FishHookа почему не всякие Марионетте? Говорят что оно лучче ангуляра правда с ним разобраться сложнее.
Лучшее - враг хорошего. Завтра появится Луиджионетте, в 10 раз лучше, что теперь 100500 строк кода переписывать? А зачем?



Офлайн

#8 Авг. 15, 2014 11:52:38

Singularity
Зарегистрирован: 2011-07-28
Сообщения: 1387
Репутация: +  75  -
Профиль   Отправить e-mail  

шаблоны и ajax

FishHook
оно таки старше ангуляра.

Это все чего-то фапают на новый ангуляр.

Офлайн

#9 Авг. 27, 2014 14:32:31

inoks
От: Russia
Зарегистрирован: 2012-12-11
Сообщения: 343
Репутация: +  35  -
Профиль   Адрес электронной почты  

шаблоны и ajax

FishHook
Юзаю. С какого-то момента перешли целиком на него. Сильно сберегает нервы.

это же только для корп. сайтов всяких? с точки зрения SEO сайты на ангуляре же никакие до сих пор, в том плане что поисковики их игнорируют?

Офлайн

#10 Авг. 27, 2014 17:02:18

FishHook
От:
Зарегистрирован: 2011-01-08
Сообщения: 8312
Репутация: +  568  -
Профиль   Отправить e-mail  

шаблоны и ajax

inoks
это же только для корп. сайтов всяких? с точки зрения SEO сайты на ангуляре же никакие до сих пор, в том плане что поисковики их игнорируют?
Для нас это несущественно. С другой стороны, там где нужено много аякса, чего там индексировать?



Офлайн

Board footer

Модераторировать

Powered by DjangoBB

Lo-Fi Version