构建Django项目

时间:2017-09-17 20:43:47

标签: python django

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

如果每个应用程序文件夹中都应该有一个静态文件夹,那么我有两个css文件吗?我认为这没有任何意义,因为CSS可以涵盖从app到app重叠的事情。

我也想知道是否按照我目前的方式设置它会影响任何事情,或者是否"最佳实践"更重要的是,如果你正在开展一个有多人的项目(我不是,在这种情况下我应该关心吗?)

这是我目前的结构:

/evverest/
    /evverest/
    /feed/
    /users/
    /blog/
    /templates/
        /base/
        /feed/
        /users/
    /static/
        /css/
    /media/
        /post_pics/
        /profile_pics/

1 个答案:

答案 0 :(得分:4)

这可能有点令人困惑。我喜欢这样做:

  1. 全局模板应位于主templates/文件夹中。这应包括base.html以及您覆盖的其他插件中的任何其他模板。
  2. 应用专用模板应位于应用内部自己的templates/文件夹中,例如: blog/templates/blog/blog_index.html。这些模板应{% extend 'base.html' %},以便项目中的所有应用程序都使用相同的基本模板,该模板位于全局模板文件夹中。
  3. 资源应该存在于您的Django设置的全局STATIC_ROOT文件夹中,我在下面将其称为assets。为了简单起见,我坚持使用一个文件夹。
  4. 以下是一个示例:

    ./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
    

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

    希望这有帮助!