构建Django项目

问题描述 投票:3回答:1

我知道你应该在每个app文件夹中都有一个模板文件夹,我如何进一步澄清两个问题。 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/
python django
1个回答
4
投票

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

  1. 全局模板应该存在于templates/主文件夹中。这应该包括base.html和其他插件中你覆盖的任何其他模板。
  2. 应用专用模板应该位于应用内部自己的templates/文件夹中,例如blog/templates/blog/blog_index.html。这些模板应该是{% extend 'base.html' %},以便项目中的所有应用程序都使用相同的基本模板,该模板位于全局模板文件夹中。
  3. 资产应该存在于你的Django设置的全局STATIC_ROOT文件夹中,我在下面称之为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

有关最佳实践的更多信息,请查看cookiecutter-django。需要学习很多东西,但是他们对遵循最佳实践感兴趣,所以这是一个很好的资源。

希望这可以帮助!

© www.soinside.com 2019 - 2024. All rights reserved.