我在看django-mingus的INSTALLED_APPS:
INSTALLED_APPS = (
'django.contrib.auth',
'django.contrib.contenttypes',
'django.contrib.sessions',
'django.contrib.sites',
'django.contrib.admin',
'django.contrib.sitemaps',
'django.contrib.flatpages',
'django.contrib.redirects',
'django_extensions',
'tagging',
'djangodblog',
'disqus',
'basic.inlines',
'basic.blog',
'basic.bookmarks',
'basic.media',
'oembed',
'flatblocks',
'dbtemplates',
'navbar',
'sorl.thumbnail',
'template_utils',
'django_proxy',
'django_markup',
'google_analytics',
'robots',
'basic.elsewhere',
'compressor',
'contact_form',
'honeypot',
'sugar',
'quoteme',
'mingus.core',
'debug_toolbar',
'django_twitter',
'django_bitly',
'staticfiles',
'tinymce',
'django_wysiwyg',
'cropper',
'memcache_status',
'request',
)
Run Code Online (Sandbox Code Playgroud)
这确实有些臃肿.但我认为这真的没有它看起来那么糟糕,因为django只使用所请求的内容,因为它不会为每个请求加载每个应用程序,但只有在它被调用时?如果没有,有人可以揭开这个过程的神秘面纱吗?
我认为在你的网站上找到很多应用程序是很常见的INSTALLED_APPS.为了将一些系统保留在您的包/目录结构中,我认为建议将您的应用程序放在apps项目根目录中的文件夹中,同时保留其他第三方应用程序,不要触摸您的其他地方PYTHONPATH.我认为使用像PIP和virtualenv之类的东西来跟踪你的应用并组织它们是非常值得推荐的.在这里,您可以阅读另一篇关于django项目的有用目录结构的文章.
如果你的INSTALLED_APPSdjango中的应用程序将始终在启动时加载其模型并APP_CACHE使用这些类填充它,但我认为如果你正在处理传统应用程序,这是一个你可以忽略的开销......
编辑:还要考虑应用程序的复杂性变化很大,例如.类似tinymce主要只是提供一个小部件和一些视图,但没有模型,所以如果不使用它只是添加一些网址到urlresolver,那就是...