构建Django项目

Gar*_*ett 4 python django

我知道您应该在每个应用程序文件夹中都有一个模板文件夹,如何进一步澄清两个问题。1,我是否应该有2个相同的base.html文件(每个应用程序一个)?似乎正在创建比需要的文件更多的文件……2.静态和媒体文件夹又如何?我是否应该每个都有两个,还是应该在项目和应用文件夹级别?

如果应该在每个应用程序文件夹中都有一个静态文件夹,那么我是否有两个CSS文件?我觉得这没有任何意义,因为CSS可以覆盖应用程序之间重叠的内容。

我也想知道是否按照我目前的方式设置它会影响任何事情,或者“最佳实践”是否更多,仅仅是因为您正在与多个人一起工作的项目(我不是,所以我应该注意吗?)

这是我当前的结构:

/evverest/
    /evverest/
    /feed/
    /users/
    /blog/
    /templates/
        /base/
        /feed/
        /users/
    /static/
        /css/
    /media/
        /post_pics/
        /profile_pics/
Run Code Online (Sandbox Code Playgroud)

Fra*_*ney 5

这可能会有些混乱。我喜欢这样做:

  1. 全局模板应位于主templates/文件夹中。这应该包括base.html您要覆盖的其他插件中的所有其他模板。
  2. 特定于应用程序的模板应位于templates/应用程序内自己的文件夹中,例如blog/templates/blog/blog_index.html。这些模板应{% extend 'base.html' %}使项目中的所有应用程序都使用相同的基本模板,该模板位于全局模板文件夹中。
  3. 资产应位于STATIC_ROOTDjango设置的全局文件夹中,我在assets下面将其称为。为了简单起见,我坚持使用一个文件夹。

这是看起来的例子:

./evverest
??? evverest/
??? feed/
?   ??? templates/feed/feed_index.html
?   ??? models.py
??? users/
?   ??? templates/users/users_index.html
?   ??? models.py
??? templates/
?   ??? base.html
??? static/
?   ??? css/main.css
??? manage.py
Run Code Online (Sandbox Code Playgroud)

有关最佳做法的更多信息,请参阅cookiecutter-django。有很多东西要学习,但是他们对遵循最佳实践感兴趣,因此这是一个很好的资源。

希望这可以帮助!