我正在计划一个新的Django项目,并希望做到一切都正确。我遇到了如何组织项目目录结构的问题。幸运的是,网络上有很多好的项目模板示例。尽管如此,有一件事我仍然难以理解:
建议将模板文件放在项目根目录下的一个单独目录中,该目录按应用程序分成子目录。因此,模板不在应用程序目录中。这对我来说似乎很合乎逻辑,因为我们要将应用程序逻辑与表示逻辑分开。但是静态文件呢?在这里,通常的做法似乎是将静态文件放在应用程序目录中,并在开发时将它们加载到项目根目录下的“static”目录中(collectstatic)。但是我不理解这种逻辑。由于静态文件(即js、css、图像)通常是在模板中访问,而不是在应用程序代码中访问,所以我会将它们归类为表示逻辑。那么为什么它们不能像模板一样被存储 - 在项目根目录下的一个目录中,为单个应用程序分配子目录?
我知道我可以将这些文件存储在任何地方,但我想知道人们这样做的好理由是什么。这个原因可能是什么?
建议将模板文件放在项目根目录下的一个单独目录中,该目录按应用程序分成子目录。因此,模板不在应用程序目录中。这对我来说似乎很合乎逻辑,因为我们要将应用程序逻辑与表示逻辑分开。但是静态文件呢?在这里,通常的做法似乎是将静态文件放在应用程序目录中,并在开发时将它们加载到项目根目录下的“static”目录中(collectstatic)。但是我不理解这种逻辑。由于静态文件(即js、css、图像)通常是在模板中访问,而不是在应用程序代码中访问,所以我会将它们归类为表示逻辑。那么为什么它们不能像模板一样被存储 - 在项目根目录下的一个目录中,为单个应用程序分配子目录?
我知道我可以将这些文件存储在任何地方,但我想知道人们这样做的好理由是什么。这个原因可能是什么?
collectstatic
会增加一些额外的工作量。 - j0kerapp/static
。其他时候,对于一组与核心网站相关的应用程序,我只使用我的site_media
文件夹。由于我使用一个使用它的面料脚本,因此调用“collectstatic”的开销被删除了。此外,如果配置了静态文件存储后端,则可以让collectstatic上传到Amazon S3非常有用。 - Yuji 'Tomita' Tomita