我要删除自动创建的未使用文件吗?

时间:2017-10-09 06:46:34

标签: django

的Django == 1.11.5

在项目中有未使用的文件。 例如,我使用Django登录/注销功能,但我创建了一个特殊的登录模板。

我不使用:models.py,views.py,tests.py。

但我确实为Django注册了应用程序以找到模板。

你能否告诉我是否应该删除这些未使用的文件? Django风格指南对此事保持沉默。

删除似乎合乎逻辑。但我决定要求你保持安全。

1 个答案:

答案 0 :(得分:0)

你需要至少models.py(即使它是空的)才能让django检测到一个应用程序。

来自documentation on applications

  

应用程序注册表分三个阶段初始化。在每一个   阶段,Django按顺序处理所有应用程序   INSTALLED_APPS。

     

首先,Django导入INSTALLED_APPS中的每个项目。

     

如果是应用程序配置类,Django会导入root   应用程序的包,由其name属性定义。如果是的话   在Python包中,Django创建了一个默认的应用程序配置。

     

在此阶段,您的代码不应导入任何模型!

     

换句话说,您的应用程序的根包和模块   定义您的应用程序配置类不应导入任何   模型,甚至是间接的。

     

严格来说,Django允许一旦导入模型   应用程序配置已加载。但是,为了避免   对INSTALLED_APPS顺序的不必要限制,这是强烈的   建议不要在此阶段导入任何模型。

     

此阶段完成后,将在应用程序上运行的API   诸如get_app_config()之类的配置变得可用。

     

然后Django尝试导入每个模型子模块   申请,如果有的话。

     

您必须在应用的models.py中定义或导入所有模型   或models/__init__.py。否则,应用程序注册表可能不是   此时完全填充,这可能导致ORM   故障。

     

此阶段完成后,将在模型上运行的API   get_model()变得可用。

     

最后Django运行每个应用程序的ready()方法   配置。

因此,如果您需要将其添加到INSTALLED_APPS,则需要保留models.py。将来的django版本将删除此限制。