Программы
Добавляем поддержку emoji в Django+MySQL приложение

Добавляем поддержку emoji в Django+MySQL приложение

В наше время emoji в веб-приложениях — не роскошь, а суровая реальность: любой «мобильный юзер» может написать сообщение, в котором есть эти символы.

В наше время emoji в веб-приложениях — не роскошь, а суровая реальность: любой «мобильный юзер» может написать сообщение, в котором есть эти символы.

И, казалось бы, фича уже не новая — всё должно быть готово для неё. Так и есть в SQLite, PostgreSQL. Но не в MySQL/MariaDB.

Однако, шаманств не много — просто используем кодировку utf8mb4, которая есть в MySQL с 5.5 версии.

ALTER TABLE табличка CONVERT TO CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci;

И прописываем charset в параметрах коннекта к базе:

DATABASES = {
    'default': {
        'ENGINE': 'django.contrib.gis.db.backends.mysql',
        'NAME': 'бд',
        'USER': 'юзер',
        'PASSWORD': 'пароль',
        'HOST': '127.0.0.1',
        'OPTIONS': {'charset': 'utf8mb4'},
    },
}

✅ Добавлена поддержка emoji.

Также может быть вам интересно:

Сервер отвечает! Ajax, Comet, WebSocket

Случаются в жизни огорчения — хотел сделать одно, получилось иное. К примеру, протокол, написанный для навигации между документами, используется как файловый сервер. Или делал ты протокол поверх сети Интернет, а теперь его называют «интернет».

Читать »

Как поднять Qemu-KVM

Временами полезно иметь развёрнутую инфраструктуру из N машин, чтобы посмотреть, как работает сетевое взаимодействие, как кластер шардится по нодам и т.д.

Читать »
Фото Как установить PostgreSQL на Linux и создать базу и пользователя

Как установить PostgreSQL на Linux и создать базу и пользователя

PostgreSQL - система управления базой данных общего назначения. Одна из самых распространённых баз данных, используемая на многих коммерческих и некоммерческих проектах.

Фото Как сделать свою middleware в Django (с примерами)

Как сделать свою middleware в Django (с примерами)

Middleware или "промежуточное программное обеспечение" - элегантный способ установить общие правила обработки запросов и ответов приложения. Давайте напишем парочку middleware, чтобы понять, как они работают.

Фото Как настроить отправку почты из Django

Как настроить отправку почты из Django

Письма об ошибках, отчёты на почту, восстановление паролей - всё это полезно при работе с сайтом. Django предоставляет удобный способ это сделать с минимумом настроек!

Фото Добавляем поддержку медиа-файлов в Django проект

Добавляем поддержку медиа-файлов в Django проект

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

Фото Нет слов, одни... однострочники

Нет слов, одни... однострочники

На днях вышел пост со списком полезных однострочников для JavaScript программистов. Памятуя Perl-овую молодость, заглянул туда.

Фото Добавляем переменные в контекст Django шаблонов (свой контекст-процессор)

Добавляем переменные в контекст Django шаблонов (свой контекст-процессор)

В Django вы можете передавать данные в шаблоны посредством контекстов. Контекст передаётся из контроллера (view в терминах Django), однако, если одни и те же данные нужны в разных местах, лучше сделать свой контекст-процессор.

Фото Пример своей консольной команды в Django проекте

Пример своей консольной команды в Django проекте

Если вы работали с Django проектом, то, скорее всего, запускали команды из консоли (manage.py). В Django есть простой способ писать свои команды для управления проектом.

Фото Разграничение прав доступа на Django сайте

Разграничение прав доступа на Django сайте

Почти на любом веб-сайте необходимо разделять пользователей на группы и предоставлять им разные возможности. В Django есть довольно серьёзная система прав доступа для пользователей - давайте её рассмотрим!