【问题标题】:What is the documented definition of MEDIA_ROOT, MEDIA_URL, STATIC_ROOT, STATIC_URL and ADMIN_MEDIA_PREFIX?MEDIA_ROOT、MEDIA_URL、STATIC_ROOT、STATIC_URL 和 ADMIN_MEDIA_PREFIX 的文档定义是什么?
【发布时间】:2011-10-12 09:40:37
【问题描述】:

我已经通过官方文档和一些帖子阅读了一些关于它们的信息,但我仍然感到困惑。据我现在所见,MEDIA_ROOT 用于用户上传的图像和文件,而 STATIC_ROOT 用于 js、css 等。 至于 MEDIA_URL,是用于检索图像吗?并且是 STATIC_URL 用于链接 js 和 css 吗?

如果每个都提供示例,我将不胜感激。

【问题讨论】:

  • 你最好给一个更好的标题:(

标签: django


【解决方案1】:

MEDIA_ROOT 和 STATIC_ROOT 是文件所在的本地目录,例如:

MEDIA_ROOT = '/home/CDBean/mydjangoproject/media/' # notice the trailing slash
STATIC_ROOT = '/home/CDBean/mydjangoproject/static/'

MEDIA_URL 和 STATIC_URL 是这些文件夹的可公开访问的 URL。这意味着,当您部署 Django 项目时,您必须告诉您的 Web 服务器在您在此处指定的 URL 下发布这些文件夹。

MEDIA_URL = 'http://media.example.com/' # trailing slashes here, too
STATIC_URL = 'http://static.example.com/'

然后您可以通过 {{MEDIA_URL}} 和 {{STATIC_URL}} 在模板中使用这些 URL(假设您已将 django.core.context_processors.mediadjango.core.context_processors.static 添加到 settings.py 中的 TEMPLATE_CONTEXT_PROCESSORS 元组)。两个例子:

<link href="{{STATIC_URL}}css/main.css" media="screen" rel="stylesheet" type="text/css" />
<img src="{{MEDIA_URL}}random.jpg"/>

现在,什么时候用什么?基本上你是对的,但我强烈推荐阅读https://docs.djangoproject.com/en/dev/howto/static-files/

【讨论】:

    猜你喜欢
    • 2011-06-16
    • 2011-07-27
    • 2023-01-09
    • 2016-10-09
    • 2014-07-24
    • 2012-09-03
    • 1970-01-01
    • 2012-03-27
    相关资源
    最近更新 更多