【问题标题】:Where to put a Django template's dependent files?将 Django 模板的依赖文件放在哪里?
【发布时间】:2009-12-12 01:23:58
【问题描述】:

我的 Django 模板使用了很多相关的东西:图像、样式表等。

我应该把这些文件放在哪里,或者我应该如何在模板本身中引用它们?

目前我正在使用开发服务器。

我知道这是很常见的事情,但我真的想不通。

【问题讨论】:

    标签: python django django-templates


    【解决方案1】:

    我将它们放在名为static 的文件夹中,该文件夹位于 Web 项目的顶级文件夹中。

    例子:

    /静态/img/
    /静态/js/
    /静态/css/
    /模板/
    urls.py
    设置.py

    然后我的urls.py 文件中有以下规则:

    (r'^static/(?P<path>.*)$', 'django.views.static.serve', {'document_root': settings.MEDIA_ROOT}),
    

    我的settings.py 包含:

    MEDIA_ROOT = os.path.join(os.path.dirname(__file__), 'static').replace('\\', '/')
    ADMIN_MEDIA_ROOT = os.path.join(os.path.dirname(__file__), 'static/admin').replace('\\', '/')
    

    【讨论】:

    • 啊啊!这有点棘手。我尝试将我的文件夹命名为media,但它当然与管理员的媒体文件夹冲突。
    • shinjin:所以在设置中提供 ADMIN_MEDIA_PREFIX 作为其他内容,比如 /admin-media/
    【解决方案2】:
    【解决方案3】:

    我们把我们的放在 /media 下。与站点布局特别相关的所有内容都进一步分开。当然,这些静态内容都不是由 Django 在生产站点上提供的。它们通常甚至不在同一个物理服务器上。

    /media
        /images - this is for content-specific images
        /video - these next 2 are normally symlinks to a /big_content folder ...
        /audio - so that they aren't included in our mercurial repository.
        /layout - everything that is tied to the basic templates.
            /css
            /js
            /images
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2012-04-20
      • 2012-04-26
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2018-10-15
      • 2016-09-23
      相关资源
      最近更新 更多