Рубрики
Без рубрики

Новости Django # 15 – 🎉 Async Views в Джангу 3.1. Какая неделя, пожалуйста, мыть руки!

Новости Djangocon Europe 2020 откладывается до 16-20 сентября по текущему COVID-19 PE … Теги с Джанго, Питоном, Джангоневс.

Автор оригинала: 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 проекты.

Ожидайте часто обновления, когда мы обсуждаем и решаем разные вещи.

Если вы хотите проверить существующий проект, показывающий большую часть руководства стилей, Проверьте направляющий пример стиля

Оглавление:

Обзор

В 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 AN ImageField. .
  • Вы можете наследовать 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”