Собрали в одном месте самые важные ссылки
и сделали Тренажер IT-инцидентов для DevOps/SRE
Представим ситуацию. Есть модель Текст (заголовок, тело, теги) и модели Новость, Продукт, Реклама, которые имеют свои уникальные параметры. Необходимо связать Текст и все остальные - вполне логичное желание.
Как можно поступить:
...
«В жизни каждого django-разработчика наступает момент, когда он решительно рвет со своим прошлым, лишенным функционального тестирования!» Об этом и поговорим.
В Django 1.9 будет добавлено поле JSONField, его можно использовать с базой данных PostgreSQL >= 9.4. Давайте попробуем с ним поработать и оценить, насколько оно удобно.
В данный момент доступна альфа версия django 1.9, финальная запланирована на декабрь 2015. Установить альфа версию можно так:
pip install --pre django
Итак представим, что у нас есть интернет магазин, в котором мы предлагаем товары разных типов. Например, ноутбуки и футболки. Очевидно, что у таких товаров будет разный набор параметров: у футболок будет размер, цвет, а у ноутбуков - размер экрана, частота процессора, объем жесткого диска и прочее. Один из подходов для работы с такими данными в SQL - Entity–attribute–value model (EAV).
Интерфейс администратора Django достается разработчику "даром". Добавляешь немного строк кода и появляется UI где можно изменять объекты моделей. По умолчаниюю нам предоставляют GRUD возможности.
Но что если нам надо...[Продолжение]
Вероятно многие из нас сдавая очередной Django-проект ловили себя на мысли о том, что интерфейс администратора выглядит, мягко говоря, непрезентабельно и несовременно. Однажды мне стало стыдно отдавать хороший Django-проект хорошему заказчику именно по причине убогости админки, и я решил обновить ее внешний вид, вдохновившись обновленным сайтом Django.
Разработка программ сопряжена с сложностями. Произвольно или нет лезут различные баги. Для поиска ошибок применяют различные инструменты, например дебаг. Дебаг бывает кустарным - print'ами, а есть более каноничный подход - дебаггерами....[Продолжение]
Django — широко известный и один из наиболее развитых фреймворков для веб-разработки. Django написан на Python и, следовательно, для работы с ним потребуется установленный интерпретатор Python. Это не представляет никаких проблем, если мы работаем в среде Linux. Однако события принимают совсем другой оборот, если приходится заниматься разработкой на Python под Windows.
Фреймворк Django, пожалуй, самый популярный для языка Python. Однако, при всей его популярности, часто критикуют его ORM — а именно lookup синтаксис через подчеркивания. На самом деле, такой выбор синтаксиса вполне обоснован — он легок в понимании, расширяем, а главное — прост, как швабра. Тем не менее, хочется красоты, или даже прямо изящества. Но красота — понятие относительное, поэтому будем отталкиваться из конкретных задач.
Автор рассказывает о том как непросто оказалось решить тривиальную, на первый взгляд, задачу - добавить вход через социальные сети по протоколу OAuth
Из нововедений отмечают:
Новый инструмент для работы с manage.py
Поддержка Django 1.8
Рефакторинг Bulk move (групповое перемещение)
Рефакторинги для конвертации Python-модуля в пакет и наоборот
Значительно улучшенная поддержка IPython Notebook с новой IPython Notebook консолью
Временные Python-файлы (Scratch Files)
Начальная поддержка Python 3.5
Режим редактора Distraction-free mode, позволяющий ни на что не отвлекаться
И многое другое
Автор библиотеки aiohttp делится своим мнением по поводу правильности и неправильности организации конфигов в приложении
Автор потратил некоторое время на поиск правильного способа прописать каталоги исключенные из coverage отчета для jenkins и делится готовым рецептом
К своему стыду мы пропустили информацию о прошедшей на прошлой недели микроконференции с двумя интересными докладами о именовании переменных и об удобствах применения применении pundle вместо pip и virtualenv
Стандартно в Django для модели создаются три роли: «добавить», «редактировать», «удалять». Но как же быть, если мы хотим дать роль пользователю только на просмотр и при этом использовать django.admin? Есть множество способов, но элегантных, которые позволили бы создать роль «Can view model» практически нет.
Порой возникает задача выполнить некоторые действия в момент, когда в модели произошло конкретное определённое изменение. В описанном примере рассматривается модель заказа, и нужно записать время оплаты заказа в момент, когда статус оплаты изменился с «не оплачено» на «оплачено»
Небольшое руководство по созданию расширения для Django-CMS на примере слайдера фотогалереи.
В джанговской админке есть встроенный механизм поиска по полям модели. Достаточно просто указать поле search_fields в классе, унаследованном от ModelAdmin, и поиск по нужным полям заработает сам. Однако, иногда возникают задачи обеспечить поиск не только по простым полям, но и по значениям, сгенерированным методами. Как это сделать и описано в данной статье.
В подавляющем большинстве проектов используется отправка сообщений на почтовые адреса клиентов/админов/отделов. На сколько утомительно каждый раз создавать шаблоны на файловой системе, задавать сигналы, использовать часто дублирующийся код для рендеринга и отправки. Автор предлагает свое решение этой назойливой проблемы.
Мы как-то выпустили из вида эту замечательную серию переводов, но теперь исправляемся
10. Обновляем профиль
9. Отображаем профиль пользователя
8. Создание постов
7. Рендеринг объектов Post
6. Модель постов
5. Logout
4. Авторизация пользователей (login)
3. Регистрация новых пользователей
2. Сериализация модели Account
1. Расширяем встроенную модель User