如何正确使用 django 静态文件

Posted

技术标签:

【中文标题】如何正确使用 django 静态文件【英文标题】:How to work properly with django static files 【发布时间】:2012-11-10 04:25:17 【问题描述】:

我在处理 django 静态文件时遇到问题。

我对如何使用 MEDIA_ROOT、STATIC_ROOT、MEDIA_URL 和 STATIC_URL 感到困惑

我有这样的文件结构(对不起,我不知道如何正确缩进:S):

static/
    css/
    img/
    js/

例如,如果我的 css 目录中有一个 .css 文件,我该如何访问它?

【问题讨论】:

文档几乎详细介绍了这些部分中的每一个:docs.djangoproject.com/en/1.4/howto/static-files 【参考方案1】:

MEDIA_ROOT 和 MEDIA_URL 已弃用。使用 STATIC_ROOT 和 STATIC_URL。

STATIC_ROOT = "Absolute path to your static directory" (Example: /home/your_app/static)
STATIC_URL = "/static/" (Could be anything you would like to use)

当您想提供静态内容时,请传递 context_instance 并在您的模板中使用,

STATIC_URL/file_path_from_static_directory/

编辑:

from django.contrib.staticfiles.urls import staticfiles_urlpatterns

urlpatterns += staticfiles_urlpatterns()

【讨论】:

好的,谢谢,还有一件事我忘了问上面。是否需要用静态目录的路径编辑 url.py?

以上是关于如何正确使用 django 静态文件的主要内容,如果未能解决你的问题,请参考以下文章

如何从 Heroku 上的 Django 项目正确地提供我的 Angular 应用程序静态文件?

如何返回通过django中的视图的静态文件?

如何返回通过django中的视图的静态文件?

调试模式打开时的 Django 和静态文件

在 Heroku 上部署 Django/静态文件的正确方法

谷歌灵活环境 django gunicorn nginx 静态文件