【问题标题】:How to handle assets (css, js, etc) with Django?如何使用 Django 处理资产(css、js 等)?
【发布时间】:2012-04-15 15:10:03
【问题描述】:

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

他们应该去哪里?目前我的项目目录是这样的:

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

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

【问题讨论】:

    标签: python django standards twitter-bootstrap conventions


    【解决方案1】:

    你应该仔细看看Managing static files

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

    所以布局可能如下所示:

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

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

    【讨论】:

    • 这看起来就是我想要的。谢谢@arie
    【解决方案2】:

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

    【讨论】:

    • 当我使用django-admin.py startproject mysite时,Django 是这样生成我的目录结构的
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2012-06-06
    • 2012-02-18
    • 2023-03-05
    • 2014-09-21
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多