Передовые практики Django (9 части серии)
Импорт – неизбежная часть развития Python и Django. Pep8 , который является официальным руководством стилей для Python, рекомендует импорт быть размещенным в верхней части файла, на отдельные строки и сгруппированы в следующем порядке:
- Стандартный импорт библиотеки
- Связанная сторонняя импорт
- Местное приложение/Специальный импорт библиотеки
По возможности, будьте как можно более четки с импортом.
Вот пример Просмотр .py
Файл из приложения блога, построенного в моем Django для начинающих книга.
# blog/views.py from django.views.generic import ListView, DetailView from django.views.generic.edit import CreateView, UpdateView, DeleteView from django.urls import reverse_lazy from .models import Post # explicit relative import class BlogListView(ListView): model = Post template_name = 'home.html'
Топ-3 строки Абсолютный импорт которые используются при импорте пакетов из снаружи данное приложение. Это то, как все основной код Django импортируется.
Модель базы данных импортируется с помощью Явный относительный импорт – Мы не шнурки приложения здесь, что делает его гораздо более многоразовым. Если бы мы вместо этого сделали от blog.models Импорт пост
Тогда если имя Блог
Приложение изменилось в будущем, или мы хотели разделить этот код, импорт не удастся.
Еще одно хорошее правило, чтобы никогда не использовать *
какие доступ к все импорт. Например, это плохое представление:
# blog/views.py from django.views.generic import * # BAD IDEA!
Почему импортировать вещи, которые вам не нужно? Плюс что если Views.generic
Изменения в какой-то момент в будущем в непредвиденных способах, которые открывают проблемы безопасности.
Забрать
Скорее всего, вы сможете увидеть разные стили импорта в открытых исходных и профессиональных настройках кода. Попробуйте использовать Pep8 как можно ближе. Используйте абсолютный импорт при необходимости и предпочитаете явный относительный импорт для вашего локального кода Django.
Передовые практики Django (9 части серии)
Оригинал: “https://dev.to/wsvincent/django-best-practices-imports-24p7”