django将为已安装的应用程序做些什么?

时间:2013-12-27 02:58:18

标签: python django django-apps

例如:

INSTALLED_APPS = ( 
    'django.contrib.admin',
    'django.contrib.auth',
    'django.contrib.contenttypes',
    'django.contrib.sessions',
    'django.contrib.messages',
    'django.contrib.staticfiles',
    'south',
    'southtut',
    'southtut2',
)   

south是我安装到我的python环境的模块。

southtutsouthtut2是我创建的django应用./manage.py startapp

我很好奇django会为已安装的应用做些什么。它只是将模块添加到sys.path吗?

如果我想在我的django项目中安装应用程序但不将其添加到INSTALLED_APPS列表,我该怎么做。

2 个答案:

答案 0 :(得分:0)

不同的是当使用它的django功能时。

例如:

  • 当您想要创建应用模型时
  • 如果您想从管理页面浏览应用模型
  • 当您想要从其网址模式访问应用视图时。
  • 当您想测试应用时

答案 1 :(得分:0)

Django使用INSTALLED_APPS进行各种操作。基本上,如果应用程序想要提供将由核心Django功能使用的内容,则必须添加到INSTALLED_APPS

示例包括:

  • 模型:Django为所有已安装的应用程序加载模型。
    • 如果您想通过名称从其他应用中引用应用中的模型,则必须安装第一个应用。
    • 这些也是将出现在Django Admin界面中的模型。
    • 这也可以确保创建反向关系或尽可能早地连接信号。
  • 模板:使用默认配置,Django会在已安装应用的“模板”目录中搜索模板。见TEMPLATE_LOADERS
  • 静态文件:“collectstatic”,“findstatic”和开发静态文件服务器将在已安装的应用中搜索静态文件。请参阅STATICFILES_FINDERS
  • 也可以从已安装的应用中发现翻译。见How Django discovers translations
  • Django Management Commands也会在已安装的应用中被发现。

列表可能会延长。

请注意,未添加到INSTALLED_APPS的应用仍然有用,例如: