2017-09-17 40 views
2

我知道你應該在每個應用程序文件夾中都有一個模板文件夾,我有兩個問題需要進一步澄清。 1,我是否應該有2個base.html文件(每個應用程序中有一個)是相同的?這似乎是創造更多的文件,而不是需要......和2.什麼靜態和媒體文件夾?我是否也應該有兩個或應該在項目和應用程序文件夾級別?構造Django項目

如果應該在每個應用程序文件夾中都有一個靜態文件夾,那麼我是否有兩個css文件?我覺得這是沒有意義的,因爲CSS可以涵蓋從應用程序到應用程序重疊的東西。

我也想知道是否設置了我現在的方式會影響任何事情,或者如果「最佳實踐」更適合如果您正在與多個人一起開展項目(我是不,在這種情況下,我應該關心)

這是我目前的結構:

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

回答

3

這可能是一個有點混亂。我喜歡這樣做:

  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。有很多東西需要學習,但他們有興趣遵循最佳實踐,所以這是一個很好的資源。

希望這會有所幫助!

+0

完美的,我重組它,它仍然有效,所以這很好,我只是不知道什麼是最好的方式來做到這一點。謝謝。 – Garrett

+0

@Garrett樂於幫忙!我希望你喜歡像我一樣使用Django。一旦掌握了它,這真的很愉快。 – Franey

+0

是的,我肯定會到達那裏,迄今爲止它是非常棒的。 – Garrett