Яндекс.Метрика

воскресенье, 15 декабря 2013 г.

суббота, 14 декабря 2013 г.

Выпадающий список в поле формы Django с помощью Bootstrap-а

Представим, что у нас есть текстовое поле в формочке, в котором при наборе фразы, должен появляться выпадающий список с подсказками. По мере набора, он бы сокращался в соответствии с уточнением фразы. Что-то, что я назвала бы type-in search. Исправьте меня, если есть более точное название.

Итак. Есть Бутстрап, который умеет это делать через Джаваскрипт. Нам всего лишь нужно в атрибутах ячейки указать class="text", autocomplete="off", чтобы в выпадающем списке не появлялись рандомные поля, запомненные браузером, data-provide="typeahead" и data-source=massive, где massive --- это массив строк, по которым должен производиться поиск.

На этом можно было бы закончить, если бы мы не строили формы с помощью Django. Но я строю. Для этого нам все эти атрибуты поля нужно указать в параметрах атрибута класса формы.

Скажем, есть класс.

class ClientForm(forms.Form):
    client = CharField(
        label=u'Клиент',
        required=True,
        widget=TextInput())

TextInput принимает необязательный аргумент attrs, в котором хранятся как раз атрибуты поля формы. В соответствии с абзацем выше, класс должен принять вид:

 class ClientForm(forms.Form):
    client = CharField(
        label=u'Клиент',
        required=True,
        widget=TextInput(attrs={
            'class': 'text',
            'autocomplete': 'off',
            'data-provide': 'typeahead',
            'data-source': "['makedonskky', 'pluschenko', 'zhukov']"}))

И если ваш набор строк не изменяем, то в общем-то готово. Если же нужно, чтобы нужные значения брались из базы, и отслеживалось, чтобы при изменении значений в базе данных, выпадающий список соответствовал новым значениям, то следует при инициализации формочки, доставать этот список из базы.

Допустим есть модель Client, описывающая нужную таблицу в БД. Тогда класс формы будет выглядеть чуть по-другому:

class ClientForm(forms.Form):
    def __init__(self, user, *args, **kwargs):
        super(ClientForm, self).__init__(*args, **kwargs)

        self.client_list = json.dumps([
            client.name for client in Client.objects.filter(user=user)])

        self.widget = forms.TextInput(attrs={
            'class': 'text',
            'autocomplete': 'off',
            'data-provide': 'typeahead',
            'data-source': self.client_list})

        self.fields['client'] = CharField(
            label=u'Клиент',
            required=True,
            widget=self.widget)

На этом все. Пользуйтесь на здоровье.

вторник, 3 декабря 2013 г.

Завтрак

Я вот ем на завтрак чаще всего такой наборчик: драники, бекон и пью вкусный морс.


А вы что едите на завтрак?

воскресенье, 24 ноября 2013 г.

Рикардо и Юлия Загоруйченко

Нашла тут целую коллекцию выступлений пары Рикардо и Юлии по бальным танцам. Оказывается у них очень много тематических выступлений. Очень было интересно смотреть ролики. И вот они все.


вторник, 5 ноября 2013 г.

Оформление яндекс-почты

Мне всегда нравилось оформление Гугл-почты в веб-интерфейсе. Не то, что бы это очень красиво, но основное удобно: переписка видна в прокручиваемом окне и ответить можно на каждое из писем в этой переписке. В общем-то Яндекс-почтой не пользовалась, потому что именно отсутствие этой части в оформлении не нравилось. Но мой коллега недавно открыл мне глаза. Посмотрите, в веб-интерфейсе Яндекс-почты можно изменить оформление на удобное по функциональности. И вместо группировки писем по темам, открывать всю переписку по теме в одном и том же окне.

Да, перед скриншотами еще напишу то, что не люблю почтовые клиенты, потому что они излишни. Единственный их плюс, это всплывающее окно, показывающее, что пришло письмо. Да, еще клиенты нужно настраивать, отдельный гемор для тех, кто слышать не хотел ни разу ни о smtp и  pop-серверах, и не хочет знать, что такое imap и вообще просто не хочет настраивать какой-либо софт.

Да, и не надо писать, что это всем уже давно известно. Видимо не всем. Вообще странно, что Яндекс-почта не прорекламировала это как одну из самых главных фич: ну их эти пластилиновые темы, если в них нельзя переписку целиком видеть.

Итак. Как превратить гадкого утенка в лебедя.

Было по-умолчанию.



Идем в настройки.


Там, выбираем оформление.


А здесь выбираем "Справа от списка писем".



Получаем прекрасный почтовый ящик.


Ура!

Яндекс-шляпы

Сегодня ходили танцевать в зал для йоги в Яндекс. Там уютный залик, который вполне себе можно использовать для латины. Стандарт особо не растанцуешься. Но есть одна проблема. В будние он постоянно занят! Самое неприятное, что некоторые занятия не бронируют зал, поэтому приходится смотреть кроме расписания бронирования еще и расписание занятий и сопоставлять время. Но сегодня, в третий выходной, никого там не было.

Мы после занятия:


После занятия спустились к Яндекс-деньгам попить там кофе. Обнаружили сундук яндекс-денег!



Вообще гулять по Яндексу одно удовольствие. По дороге к кофе-пойнту мы увидели кучу разных шляп. Внимание, дальше будет куча моих фоток, мотайте, если что.

Сначала Сашка.

--- Ваши документы.


Маска шута вот.


Сомбреро.


Морской волк.


Это хм странная шляпа-кружка.


Треуголка.


С цветочком.


Тут должен был быть виден пумпон, но его не видно :( Но он есть.


Угадайте, а это чья шляпа?


 Взяли немного наличных домой.


И ушлиии. Такие вот сюрпризы обнаруживаются во время прогулок по офису.

суббота, 19 октября 2013 г.

Субботние утки

Сегодня с утра была отвратительная погода. А вот во второй половине дня выглянуло солнце. И это было прекрасно. В Дубках множество уток.


Некоторые из них коричневого цвета. Некоторые, особо голодные, выходили на берег и кушали чуть ли не из рук кормящих.



Красиво ж!

вторник, 15 октября 2013 г.

Октябрьские гулянья

Знаю, что вы подумали. Вот, говорила. что будет писать каждый день, а вчера-то забыыыла. Нет, я не забыла, дорогие читатели. Я помнила и просто нагло пролежала на диване вместо того, чтобы написать пост. Но сегодня я исправляюсь и предлагаю вашему вниманию пост двойной длины! Так-то. Начинаем.


Мы тут с Женькой гуляли. У нас была небольшая развлекательная программа.

Мы сходили оценить Крымскую набережную. Она стала ничего так. Поставили лавочки.


Посадили деревьица, навояли скульптурки сомнительной ценности.


Но вид через реку — это то, что бросается в глаза, к сожалению. Есть стульчики,


велопарковки для настоящий велосипедов и поменьше,


чистенькое бетонное оформление речки,


и палатки с картинами: фиговыми и неочень.



В общем, что, стало лучше, раньше здесь была многополосная дорога с кучей машин. И даже приятненько гулять, надо только глаза закрывать, когда голова поворачивается в сторону реки.

Мы ходили в Циферблат. Там разговаривали:


Ну, знаете, плюшки там и всё такое. Кстати, теперь там пекут хлеб, и его горячим можно кушать.


Но в Циферблате мы ждали итальянцев и пасту с томатом и базиликом. Вспомнили немного итальянский.


Вот Женя: все заняты работой, а она ничего не делает! Ну не стыдно?!


Урок по приготовлению вел Джованни. Итальянец в очках, который любит пить американо напротив ресепшна. При чекине в Форсквере, вам предложат добавить Джованни в друзья ;)


Это итальянка, очень неплохо говорящая по-русски. Она разъясняла то, что не мог сформулировать Джованни, ну и просто отвечала на вопросы. Сказала, например, что именно «макаронами» в Италии называют специальные макароны трубочкой с прямым срезом. И если вы попросите макароны в ресторане, то скорее всего вам ответят отказом, потому что это не слишком распространенная форма пасты. А паста означает как раз то, что у нас называется макаронами.


Позвольте поспать в вашей душевной кухне... Вообще kithen — это не кухня, но что это? :)


И еще один странный рисунок на лестнице в коридоре Циферблата.


Собственно, макаронов мы не попробовали, потому что итальянцы слишком долго их готовили в сложных московских условиях с электроплиткой. Зато попробовали бутербродики с томатом и базиликом. Да, кстати, девушка еще сказала, что до приезда в Россию и не знала, что бывает фиолетовый базилик, у них в Италии есть только зеленый.

Потом мы прогулялись по улочкам в центре. И походили по пешеходным зонам. Пешеходные зоны какие-то скучные ( А улочки ниче.




Искусство.


Искусство составлять документы.


Ну и конечно почти целый день мы торчали в Яндексе :) Вообще это чума быть там в выходной. Выходить неохота и работать в общем тоже. Зато потом чувствуешь себя усталым, как будто прогал весь день!

Женя хотела попробовать все сорта напитков, производимых Яндекс-баристой. Но не уверена, что в нее влезло.


Это баг, который может укусить.


Предполагалось, что мы разговариваем на клевом, кхм, на фоне... Но.., мы просто разговариваем.


Я.


Я первый раз побывала в нашей библиотеке. Там тихо и уютно. Не хочется уходить оттуда.


Есть не только техническая, но и художественная литература.



Вот Женя удивляется свету, исходящему из странных ламп.


Женька увидела доску и изрисовала ее всю.


А это массажное кресло. В общем мы и там побывали :)


Потом к нам присоединились Вика и Женя. Это мы в музыкальной комнате :)


Сходили почитать в лавку Лебедева. Узнали много нового.


На пятом висят плакаты с иероглифами.


@bad_bad_man был здесь, сердцем чую!


О, нашла допинг Яндексоидов. Кстати всем советую ;)


Вот что можно встретить в не до конца достроенных частях офиса :)


Так выглядит стоянка из окон Строганова.


Ну, погуляли, погуляли. Сходили в Куросаву. И пошли смотреть фильм. Женя показывает собачку.


Такие пироги. Везде сходили, везде побывали. Ах да, у Женьки теперь есть друг. Плоский и без клавы.




А вот к концу предлагаю угадать фильм ;) Ответ на прошлый квест — погремууушка. Ни одного правильного ответа... из одного предложенного. Ай-ай-ай. Неактивны вы, дорогие читатели!