Закрыть

Для эффективной работы на сайте используются cookie и обработка персональных данных. Пользуясь этим сайтом, вы соглашаетесь с правилами использования сайта. Подробнее

Цитата дня

Vivazzi.ru

Личный сайт Мальцева Артема

Воображение — это самое главное, оно является отражением того, что мы притягиваем в свою жизнь.

Альберт Эйнштейн

IT Блог

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

django преобразование или экранирование символов на спецсимволы в HTML

Пример преобразования (экранирования) небезопасных символов (", <, > и т.д.) в python-коде:

from django.utils.html import escape  # Эта функция и преобразует символы ", <, > и т.д. в безопасные символы

def get_link(obj):
    title = u' title="{}"'.format(escape(obj.title))
    return safe(u'<a href="{0}"{1}>{1}</a>'.format(obj.link, title))

Как сгруппировать/изменить порядок отображения плагинов в меню django-cms

Я пока не нашёл способов изменить порядок отображения плагинов в меню заполнителя при добавлении плагина. Они упорядочены по алфавиту и могут быть сгруппированны. Для этого нужно добавить параметр module при описании плагина в cms_plugins.py. Например:

class TestPlugin(CMSPluginBase):
    module = 'Test module'
    render_template = 'test_plugin.html'
    name = 'Тестовый плагин'
    model = TestModel

Отключить тачпад в linux

На линуксе минте 17.1 можно сделать следующим образом:

1. Зайти в "Меню -> Параметры -> Мышь" и включить пункт "Запретить сенсорную панель на время набора текста".

2. Если вы хотите полностью отключить тачпал, то установите пакет gpointing-device-settings.

$ sudo apt-get install gpointing-device-settings

После этого в "Меню -> Параметры" появится новый пункт под названием Pointing Devices. В этом приложении можно полностью отключить тачпад. Также это приложение содержит кучу других полезных настроек.


Google блокирует попытку авторизации с моего сайта или как разрешить доступ Google авторизации из другого места удаленно?

Столкнулся с такой проблемой: я хочу, чтобы мое приложение отправляло письма с формы обратной связи через зарегистрированную gmail почту. Но письма с новой зарегистрированной эл. почты не приходят. Google блокирует попытку авторизации с моего сайта и во вкладке "Безопасность" (в настройках аккаунта гугл) выводит: "Попытка входа из приложения или с устройства заблокирована".

В этой же вкладке можно найти пункт "Да это был я!". Вроде бы теперь всё должно работать, но...! Он не разрешает последующие попытки входа: они так же блокируются.

Оказывается после нажатия "Да, это был я!" нужно подождать две недели!!! Вот такая петрушка от безопасности Google.

UPD 13.05...


Невозможно исправить ошибки, у вас отложены (held) битые пакеты

Когда терминал выдаёт что-то подобное: Невозможно исправить ошибки, у вас отложены (held) битые пакеты, или когда система linux не может найти какие-либо библиотеки, то нужно посмотреть в каком репозитории они лежат и добавить в /etc/apt/sources.list необходимые репозитории.

Например, когда я пытался запустить nodejs, терминал выдал следующее:

$ sudo apt-get install nodejs curl https://www.npmjs.org/install.sh | sudo sh
Пакеты, имеющие неудовлетворённые зависимости:
 nodejs : Зависит: rlwrap но он не может быть установлен
E: Невозможно исправить ошибки, у вас отложены (held) битые пакеты.

После добавления в /etc/apt/sources.list ссылки на репозиторий http://ftp.de.debian.org...


Адаптация картинок под разрешения с высокой плотностью пикселей

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

.selector {background: url(../path_to_image/image.png) no-repeat; width: 10px; height: 10px;}

@media only screen and (-webkit-min-device-pixel-ratio: 1.5), only screen and (min-resolution: 144dpi) {
 .selector {background-image: url(../path_to_image/image_2x.png); background-size: 100%;}
}

Если требуется использовать фоновый паттерн (повторяющийся узор), то код перепишется следующим образом:

.selector {background: url(../path_to_image/image.png) repeat;}

@media only screen and (-webkit-min-device-pixel-ratio: 1.5), only screen and (min-resolution: 144dpi) {
 .selector {background-image: url(../path_to_image/image_2x.png); background-size: 10px 10px;}
}

Можно рассмотреть более сложный случай: адаптация изображений, которые выравниваются по центру в...


linebreak in admin django. Разделить на строчки поле TextField в админке или вывести html в ячейке таблицы при редактировании списка объектов

Рассмотрим ситуацию, когда нужно вывести список доменных имён в списке объектов.

Допустим, мы хотим вести учёт пользователей, которые имеют свои доменные имена.

class Person(models.Model):
    name = models.CharField('Имя', max_length=255)
    domains = models.TextField('Доменные имена')

Теперь, если мы хотим видеть эту информацию в списке просмотра объектов Person, то у нас будет следующее:

@admin.register(Person)
class PersonAdmin(admin.ModelAdmin):
    list_display = ('name ', 'domains')

И создадим несколько пользователей с несколькими доменными именами, которые записываются каждый с новой строки. Мы увидим, что в админке они отображаются строчкой. Чтобы они были каждый домен с новой строки, можно поступить двумя способами.

1-ый способ...


Подборка полезных библиотек, плагинов, скриптов

Список содержит применяемые мною библиотеки, плагины, скрипты и т. д. Это не весь список, но может кто-то найдёт что-то для себя полезное:

jquery-autotab-master - настройка перехода фокуса на следующее поле по нажатию клавиши tab

jquery.scrollTo - плавная перемотка страницы до указанного элемента.

Селекты с автокомплитом

chosen - http://harvesthq.github.io/chosen/

typeahead - https://github.com/twitter/typeahead.js

jquery ui - https://jqueryui.com/autocomplete/

Ну и любимая блоггерами строчка подобных постов: список будет пополняться :)


javascript как узнать время в определённом городе

Есть сервис, позволяющий узнать время в городе http://time.is/ru/widgets

Например, для Иркутска будет вставка такого скрипта:

<a href="http://time.is/Shelekhov" id="time_is_link" rel="nofollow">Шелехов:</a>
<span id="Shelekhov_z41b"></span>
<script src="http://widget.time.is/t.js"></script>
<script>time_is_widget.init({Shelekhov_z41b:{time_format:"hours:minutes"}});</script>

Ниже показан рабочий пример скрипта:

Вам нужно саморазвиваться или вы хотите зарабатывать деньги?

Или вы ищите хорошие IT сервисы или книги? Сохраните свое время и взгляните на мою подборку рекомендаций, которыми постоянно пользуюсь.
Посмотреть рекомендации

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

Попробуйте