IT Блог

Документации и переводы

Статьи на технические темы

Совместимость версий библиотек

WizardView

try:
    from formtools.wizard.views import WizardView
except ImportError, e:
    from django.contrib.formtools.wizard.views import WizardView

get_template_from_string

try:
    from django.template import Engine

    def get_template_from_string(template_code):
        return Engine().from_string(template_code)
except ImportError:
    from django.template.loader import get_template_from_string

base_meta_class

try:
    from django.contrib.admin.options import RenameBaseModelAdminMethods
    base_meta_class = RenameBaseModelAdminMethods
except ImportError:
    from django import forms
    base_meta_class = forms.MediaDefiningClass

Не работает bower

Обнаружил такую странную штуку при использовании bower.

Перед установкой ставлю его зависимости:

sudo apt-get install npm
sudo apt-get install git
sudo apt-get install node

А затем и сам bower

sudo npm install -g bower

И вроде бы он установился, но ничего сам не хочет устанавливать. При попытке посмотреть версию командой bower -v - ничего не выводится.

Как оказалось, нужно в файле /usr/local/bin/bower заменить строчку

#!/usr/bin/env node

На

#!/usr/bin/env nodejs

Теперь всё работает:

bower -v
1.7.7

Cache для классов, основанных на представлении

Django < 1.9

Отключить кэширование класса, основанного на представлении, можно следующим образом:

class MyListView(ListView):

    @never_cache
    def dispatch(self, *args, **kwargs):
        return super(MyListView, self).dispatch(*args, **kwargs)

Django 1.9

Начиная с версии django 1.9 можно декорировать сам класс (подробнее на оф. сайте: )

@method_decorator(never_cache, name='dispatch')
class MyListView(ListView):
    ...

Если нужно обернуть представление несколькими декораторами:

decorators = [never_cache, login_required]

@method_decorator(decorators, name='dispatch')
class MyListView(ListView):
    ...

Убрать расстояние между inline-block в Django

Наверняка каждый верстальщик сталкивался с проблемой появления расстояния между inline-block. Есть множество решений:

  1. Сдвиг элементов влево (отрицательный margin).
  2. Использование свойств letter-spacing и word-spacing.
  3. Уменьшение размера блоков до нуля (font-size: 0;) и др.

Все эти методы обладают недостатком - нужно прописывать дополнительные css правила и проверять свой код на кроссбраузерность. Но есть хороший способ решить задачу - это прижатие элементов к друг другу, например, так:

# до прижатия
<div class="parent">
    <div class="child">Элемент 1</div>
    <div class="child">Элемент 2</div>
    <div class="child">Элемент 3</div>
</div>

# после прижатия
<div class="parent"><div class="child">Элемент 1</div><div class="child">Элемент 2</div><div class="child">Элемент 3</div></div>

Но, как видно из примера, это, мягко говоря, нечитабельно! Тем...


Задать максимальную длину строки pycharm. Рассуждения о длине строки

При возникновении ошибки PEP 8: E501 line too long (139 > 120 characters) нужно либо разбить код на несколько строчек, либо задать большее значение максимальной длины.

Для задания максимальной длины строки в PyCharm нужно из меню перейти в "File -> Settings -> Editor -> Code Style -> General: Right margin (columns)".

Немного рассуждений об оптимальном количестве символов в строке

Я обычно задаю длину 160 символов - это удобно. Программисты на Python могут покритиковать меня за несоблюдение стандартов PEP8, но у меня есть свой аргумент в пользу увеличения длины до 120 - 160 символов вместо 80, принятых в стандарте.

Раньше до...


Перенос сайта на новый домен

Всем известно насколько важно правильно перенести свой сайт на новый домен и сохранить позиции сайта в поисковых системах. Большинству владельцев сайтов, ориентированных на русскоговорящих посетителей интересуют такие поисковики, как Google и Яндекс.

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

  1. Скопировать старый сайт (БД, код сайта и все загруженные медиа-файлы) в новую папку.
  2. Убедиться, что новый сайт открывается и представляет собой полную копию старого сайта.
  3. Настроить перенаправление старого сайта на новый (перманентный редирект 301, redirect 301 permanent).
  4. Исправить в robots.txt директивы host и sitemap.
  5. Изменить домен в ссылках в sitemap.xml.

Но чтобы максимально...


Перенаправляет сайт на ww2 ?folio=7POYGN0G2G. Настройка DNS

Встала передо мной следующая проблема: с домашнего компьютера захожу на сайт - идёт перенаправление на другой сайт с рекламой.

Открываю сайт с другого пк (который находится у друга) - нормально открывается!

Команда host​ -t A my-site.ru, вызванная на моем пк и пк друга, наглядно показала проблему:

my-site.ru has address 209.99.40.219 - у меня 
my-site.ru has address 80.87.196.25 - у друга (правильный ip-адрес сайта)

В сети можно найти много примеров подобного рода проблем, когда происходит перенаправление на ww2 с параметром ?folio=7POYGN0G2. Причём почему так происходит и как это решить, толком-то и не пишут.

Я стал разбираться в чём дело....


Как загрузить с флешки установку ОС

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

Ноутбук ASUS N61VG

  1. Входим в БИОС клавишей F2
  2. Заходим на вкадку Boot

  1. Переходим в раздел Boot Device Priority и ставим только 1st Boot Device - Hard Drive. Остальные пункты выставляем Disable

  1. Затем нажимаем Esc и переходим в раздел Hard Disk Drivers и ставим на первое место USB: 1st Drive - [USB:A-DATA USB Flash Drive 0.00]

Десктоп ACPI x64-based PC

  1. Входим в БИОС клавишей Del
  2. Выбираем в "Меню загрузки" пункт USB

Представляю вашему вниманию книгу, написанную моим близким другом Максимом Макуриным: Секреты эффективного управления ассортиментом.

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

На данный момент нет специального поиска, поэтому я предлагаю воспользоваться обычной поисковой системой, например, Google, добавив "vivazzi" после своего запроса.

Попробуйте

Выберите валюту для отображения денежных единиц