Автор оригинала: Jeff Triplett (he/him).
Новости
Djangocon Europe 2020 откладывается до 16-20 сентября
Текущие оценки пика COVID-19 слишком близки к первоначальным датам (27-31 мая), мы не можем больше не задержать принятие решения. Некоторые конференции откладываются, другие отменили в целом.
Google лето кода – подать заявку на 31 марта
Студенты могут подать заявку на проведение 3 месяцев, работающих на проекте с открытым исходным кодом, включая Django! В прошлом году студент GSOC вносил вклад в полевую поддержку JSON, которая является предстоящей основной особенностью в Django 3.1.
Async Views будет в Django 3.1!
Проверьте запрос на тягу, чтобы увидеть фантастические работы Эндрю Годвинь и команда Django.
Статьи
Google лето отражения кода
Фантастические советы от студента Django 2019 GSOC.
Использовать Python -M Pip везде
Мудрый совет от Адама Джонсона на управлении зависимостями Python.
Против сервисных слоев в Джангу
Углубленная часть на структурирующем коде и логике в Django.
Наиболее критический код Python код
Быстрый и грязный способ оценить качество любого кода Python.
Как запрос становится ответом: Дайвинг глубже в WSGI
Часть превосходной серии на Django и Webagage Internals.
Понимание много до одного в Джангу
Глубокое погружение на отношения многих к одному.
Поиск веб-сайта с использованием Django и PostgreSQL Триграммы |. Воображаемый ландшафт
Посмотрите на Trigrams, один из функций полностью текстового поиска PostgreSQL.
Увольнения приходят
От Со-Создателя Django Jacob Kaplan-Moss, совет о том, как управлять потенциальными будущими увольнениями в технологическом пространстве.
проспонсированная ссылка, ссылка на спонсора
Руководство по стилю Django
От Hacksoft Руководство по стилю для проектов Django в масштабе.
Hack Software/Django – Руководство по стилю
Django Stureguide используется в Gacksoft Projects
Django Stureguide используется в Hacksoft проекты.
Ожидайте часто обновления, когда мы обсуждаем и решаем разные вещи.
Если вы хотите проверить существующий проект, показывающий большую часть руководства стилей, Проверьте направляющий пример стиля
Оглавление:
- Обзор
- Резак Cookie
- Моделей
- Услуги
- Селекторы
- APIS & Serializers
- URL-адреса
- Обработка исключений
- Тестирование
- Сельдерей
- Невысокий
- Вдохновение
Обзор
В Django бизнес-логика должна жить в:
- Модель свойств (с некоторыми исключениями).
- Модель
чистый
Способ дополнительных валидаций (с некоторыми исключениями). - Услуги – функции, которые позаботятся о записи в базу данных.
- Селекторы …
Подкастые
Django Chat – Удаленная работа
Удаленные рабочие советы и стратегии узнали на протяжении многих лет, плюс, а также на самозанятость и пребывание продуктивным с маленькими детьми дома.
Учебники
Руководство по ASGI в Django 3.0 и его производительность
Обзор синхронизации против Async в Django, новые функции и советы о том, как структурировать будущие приложения.
Учебник Django Favicon
Быстрый и простой способ добавить Favicons в ваш проект Django.
Как служить частные медиа-файлы с Django
Создайте диспетчер документов с загруженными пользователем файлами и различными разрешениями.
Проекты
Django-Budd-Bultured
Мгновенно охватывающую ваш Django Rest Framework на основе API
YDANIV/DJANGO-REST-BUVELED
Мгновенно охватывающую ваш Django Rest Framework на основе API
Мгновенно охватывающую ваш Django Rest Framework на основе API.
Django-Budd-Buck-Buck Добавляет другой слой на вершине Django Read Framework’s ApiteStCase который позволяет покрывать набор конечных точек реструченного ресурса с одним классовым декларацией.
Это дает как быстрый охват сезонных тестов на вашу API и более сухой и более дружелюбную платформу для написания дополнительных, более полных тестов.
Так же легко, как
class CategoryTestCase(ReadWriteRESTAPITestCaseMixin, BaseRESTAPITestCase) base_name = 'category' factory_class = CategoryFactory create_data = {'name': 'comedy'} update_data = {'name': 'horror'}
Django-Budd-Buck, предназначена для работы с factory_boy для насмешек объектов для тестирования. Тем не менее, вы можете легко расширить Baserestapitseetcase
работать напрямую с моделями Django или любой другой фабрики.
Основные характеристики
- Декларативное API на основе класса для создания тестов.
- Покрывает стек через:
Маршрут> Просмотр> Serializer> Модель
Отказ - Использует конверсии рамочных конвенций Django Ress для минимизации конфигурации.
- Все тесты …
DRF-Extra-поля
Полезные дополнительные поля для Django Read Framework, включая Base64ImageField, Base64filefield, Pointfield, Integerrangefield, и многие другие.
Hipo/DRF-Extra-поля
Дополнительные поля для Django Rest Framework
Дополнительные поля для Django Rest Framework
Установите пакет
pip install django-extra-fields
Примечание:
- Установить версию 0.1 для Django Rest Framework 2. *
- Установите версию 0,3 или больше для Django Rest Framework 3. *
Поля:
Base64Imagefield.
Представление изображения для Base64ImageField
Унаследован от ImageField.
Подпись: Base64imagefield ()
- Требуется изображение Base64 в виде строки.
- Base64 Изображение:
Данные: изображение/GIF; BASE64, R0LGODLHAQABAAAAAAAAP///YH5BAEAAAALAAAAAABAAAAAAAAAAAAAAYA7
- Base64ImageField принимает всю строку или только часть после Base64,
R0lgodlhaqabaiaaaaaap///yh5baeaaaalaaaaaabaaaaaaalaaaaabaaaaaaaaaaaaaiibraa7.
- Требуется дополнительный параметр
refort_in_base64
(false
по умолчанию), если установленоПравда
Это позволит загрузки закодированных на основе BASE64 ANImageField.
. - Вы можете наследовать
Base64Imagefield
Класс и установленные допустимые расширения (Prange_Types
Список) или настройте сообщения проверки (Invalid_file_message
,Invalid_type_message
Несомненно
Пример:
# serializer from drf_extra_fields.fields import Base64ImageField class UploadedBase64ImageSerializer(serializers.Serializer) file = Base64ImageField(required=False) created = serializers.DateTimeField() # use the serializer
Django-Shapeshifter
Очень полезный вид на класс для обработки нескольких форм в одном представлении.
Kennethlove/Django-Shapeshifter
CBV для обработки нескольких форм в одном представлении
Общая проблема в Django – это то, как иметь представление, особенно на основе классового представления, которое может отображать и обрабатывать несколько форм одновременно. Django-Shapeshifter
Цель, чтобы сделать эту проблему гораздо более тривиально.
Прямо сейчас Django-Shapeshifter
Можно справиться с любым (хорошо, теоретически) количеством форм на одном представлении. Класс View предоставляется для нескольких стандартных форм или форм модели. Чтобы смешивать и сопоставить эти типы форм, вам нужно будет сделать небольшую дополнительную работу. Вот как использовать пакет:
Установка
$ pip Установить Django-Shapeshifter
Вам не нужно добавлять Shapeshifter
к вашему Stall_apps
Отказ
использование
Вы используете Django-Shapeshifter
Как вы используете встроенные классовые виды Django. Вы должны быть в состоянии использовать предоставленные представления с большинством Mixins, которые вы уже используете в вашем проекте, например Loginequirequiremiremixin
Отказ Некоторые смесицы могут быть повторными, такие как Успех мессагемиксин
, который вращается на form_valid ()
метод.
…
Django-Perf-Rec
Держите подробные записи исполнения вашего кода Django.
Adamchainz/Django-Perf-Rec
Держите подробные записи исполнения вашего кода Django.
«Держите подробные записи исполнения вашего кода Django».
Django-Perf-Rec как Джанго Assertnumqueries
на стероидах. Он позволяет отслеживать отдельные запросы и операции кэширования, которые происходят в вашем коде, используйте его в таких тестах, как так:
def test_home(self) with django_perf_rec.record() self.client.get('/')
Затем он хранит файл yaml рядом с тестовым файлом, который отслеживает запросы и операции, выглядя что-то вроде:
MyTests.test_home: - cache|get: home_data.user_id.# - db: 'SELECT ... FROM myapp_table WHERE (myapp_table.id = #)' - db: 'SELECT ... FROM myapp_table WHERE (myapp_table.id = #)'
Когда тест снова работает, новая запись будет сравниваться с одним в файле yaml. Если они отличаются, будет поднят неудачу сбой, не в состоянии теста. Магия!
Запросы и ключи – «отпечатку пальца», заменяя информацию …
Оригинал: “https://dev.to/djangonews/django-news-issue-15-async-views-are-in-django-3-1-what-a-week-please-wash-your-hands-30g4”