Это может показаться субъективным вопросом, но я уверен, что есть хорошие методы, которые некоторые из вас используют, чтобы гарантировать, что импорт в проектах Django останется под контролем. Я привык иметь список около 30 различных импортных данных в каждом файле, что явно нарушает принцип СУХОЙ. Так что это не только эстетика, но и не дублирующий код.
Я ищу метод, который позволяет обрабатывать разделы импорта в файлах Django. Мне кажется, что хорошая идея состоит в том, чтобы иметь общий файл импорта для каждого типа файла (представления, модели и т.д.), Который затем импортируется вверху, после чего импортируются дополнительные приложения. Но это вызовет много лишних накладных расходов? Как эти файлы выглядят, и каковы важные классы для каждого типа файлов?
Обновление
По запросу, вот пример из одного из моих файлов views.py
.
from django.shortcuts import render_to_response, get_object_or_404
from shortcuts import render_to_context, render_template
from django.http import HttpResponseRedirect
from django.contrib.comments.models import Comment
from django.template import RequestContext
from django.contrib.auth.decorators import login_required
from django.views.decorators.http import require_POST
from django.core.urlresolvers import reverse
from models import Listing, LocationData
from django.template import RequestContext
import sys
import urllib
if sys.version_info <= (2, 5):
import simplejson as json
else:
import json
import forms
import sanitize
from models import RentListing, VacationListing, SaleListing
from django.forms.models import model_to_dict
from django.forms.formsets import formset_factory
from django.core.urlresolvers import reverse
который, как вы видите, просто беспорядочен, так как я просто добавляю в нижнюю часть списка каждый раз, когда мне нужно что-то в файле. Сохранение его в алфавитном порядке, очевидно, поможет, но должен быть лучший способ обобщить, чем то, что я сейчас делаю.
Стоит ли нарушать руководство по стилю не использовать импорт *
для более коротких и более поддерживаемых разделов импорта в фактическом файле?