【问题标题】:Django 1.3 - Simple media deploymentDjango 1.3 - 简单的媒体部署
【发布时间】:2011-04-04 08:54:51
【问题描述】:

我在让 django 与我的媒体设置很好地配合时遇到了一些问题。我没有使用静态文件,因为在项目的这个阶段我不需要 CDN,我想保持简单。

我的文件夹结构如下:

/static
    /admin
        /css
        /js
        /etc
    /css
    /js
    /images

admin 文件夹是 admin contrib media 文件夹的副本...因为我使用的是 mod_wsgi,所以我知道这不能存在于 django 项目文件夹中。

我的设置文件:

MEDIA_ROOT = os.path.join(PROJECT_DIR, 'static/')
MEDIA_URL = 'http://127.0.0.1:8000/static/'
ADMIN_MEDIA_PREFIX = 'admin/' (tried with leading slash too)

网址:

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

无论我尝试什么,我都无法让管理媒体服务。我从阅读文档中知道 ADMIN_MEDIA_PREFIX 必须与普通媒体 url 有很大不同,但由于 mod_wsgi,我需要能够在系统 django 文件夹之外提供文件。

谁能帮忙?

【问题讨论】:

  • 使用 mod_wsgi 与提供管理媒体没有任何关系。
  • 静态文件也与 CDN 没有任何关系。

标签: django django-admin django-media


【解决方案1】:

对于您的设置,ADMIN_MEDIA_PREFIX = MEDIA_URL + 'admin/' 应该可以工作。

【讨论】:

  • 再解释一下:您不能从/admin/ 提供管理媒体服务,因为这是管理应用程序本身的服务来源!此外,您可能需要考虑对管理文件进行符号链接而不是复制它们,以便在升级 Django 版本时它们不会不同步。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2019-05-31
  • 2017-05-01
  • 2015-09-13
  • 2013-04-15
  • 2014-05-04
  • 2021-10-26
  • 2019-11-02
相关资源
最近更新 更多