如何使用Django处理资产(css,js等)?

时间:2012-04-15 15:10:03

标签: python django standards twitter-bootstrap conventions

我是Django和Python的新手,我刚刚完成了Django的“构建你的第一个应用程序”教程。我觉得很棒。然而,它从未谈及样式表,javascripts或类似的东西。

他们应该去哪儿?目前我的项目目录如下所示:

myproject
  +app1
  +app2
  +myproject
  +public
    +css
    +img
    +js
  +templates

我做得对吗?我想尽可能坚持Django / Python标准。另外,如果我想在我的所有模板中包含某些样式和脚本,我该怎么做?假设我正在使用Bootstrap。

2 个答案:

答案 0 :(得分:3)

你应该仔细看看Managing static files

基本上,您可以在每个应用程序中放置一个静态文件夹(类似于您的模板文件夹),并在项目根目录的静态文件夹中放置更常见的内容(base.css,项目范围图标,jquery-plugins)。

所以布局可能如下所示:

myproject
  +app1
    +static
      +app1
        +css
        +js
  +app2
  +static
    +css
    +img

部署项目后,您可以使用contrib.staticfiles中的collectstatic - 命令将所有静态文件收集到一个目录(STATIC_ROOT),您可以在其中提供服务。

答案 1 :(得分:1)

我更喜欢调用+ public文件夹+ static,并将+ template(特定于应用程序)文件夹放在使用它们的应用程序中(这样可以避免混淆,并且可以使用具有不同名称的模板两次) ,我也不明白为什么你把+ myproject放在根项目中。