如何在Django中保持进口整洁?

Her*_*aaf 10 python django

这看起来似乎是一个主观问题,但我确信你们中有些人采用了很好的技术来确保Django项目中的导入能够保持可维护性.我习惯在每个文件中列出大约30种不同的导入,这显然违反了DRY原则.所以这不仅仅是关于美学,也关乎不重复代码.

我正在寻找一种方法来保持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
Run Code Online (Sandbox Code Playgroud)

正如你所看到的,它只是非常混乱,因为每次我需要文件中的内容时,我只是添加到列表的底部.保持字母顺序显然会有所帮助,但必须有一种比我现在所做的更好的推广方式.

*为了在实际文件中使用更短,更易维护的导入部分,是否值得打破不使用导入的样式指南?

Ber*_*ant 1

Tomasz 已经提到了谷歌文档中有关导入的一个有趣的部分,但我认为这一部分也值得一读!