【问题标题】:Django Admin Static ResourcesDjango 管理静态资源
【发布时间】:2012-03-04 10:22:03
【问题描述】:

我是 Django 新手,我正在尝试学习如何使用它。我在尝试启动管理站点时碰了壁。

我正在工作 /opt/django/mysite.com/proj1

我只是想使用内置的网络服务器,所以python manage.py runserver

将加载管理页面,但缺少 base.css 和 dashboard.css。

这些文件位于/usr/lib/python2.7/site-packages/django/contrib/admin/media/

看到似乎通常需要设置 ADMIN_MEDIA_PREFIX,我已经尝试过 ADMIN_MEDIA_PREFIX = '/usr/lib/python2.7/site-packages/django/contrib/admin/media/' 无效。

有人可以帮我解决这个问题吗?

谢谢,

编辑: 我看到错误的 GET 请求是 http://localhost:8000/admin/media/css/base.css http://localhost:8000/admin/media/css/dashboard.css

【问题讨论】:

  • ADMIN_MEDIA_PREFIX 应该是 URL 前缀,而不是实际路径。你用的是 1.3 还是trunk?
  • 使用 1.3.1。在这种情况下,我假设我需要在 /opt/django/mysite.com/proj1 层次结构中的某个位置链接 usr/lib/... 目录。
  • 1.3中的默认值为ADMIN_MEDIA_PREFIX = '/static/admin/'。你试过了吗?
  • 您也可以通过manage.py --adminmedia 提供管理媒体路径,但同样,默认值应该可以工作。
  • 您使用开发Web服务器还是Apache?如果你使用 apache 错误日志可以帮助解决这个问题。

标签: python django


【解决方案1】:

您的管理媒体文件似乎位于默认目录中。试试这个:

ADMIN_MEDIA_PREFIX = '/media/

有关更多信息,请查看 Django 文档:https://docs.djangoproject.com/en/1.3/ref/settings/#admin-media-prefix

【讨论】:

    【解决方案2】:

    我继续使用 Apache 配置了 mod_wsgi。它工作正常,但如果有更好的配置方法,我仍然希望得到建议。

    <VirtualHost *:80>
        ServerName mysite.com
    
        WSGIDaemonProcess apache processes=2 maximum-requests=500 threads=2
        WSGIProcessGroup apache
        WSGIScriptAlias / /opt/django/fmysite.com/proj1/apache.wsgi
    
        Alias /admin/media/ /usr/lib/python2.7/site-packages/django/contrib/admin/media/
    
    </VirtualHost>
    

    【讨论】:

      【解决方案3】:

      请注意,对于 Django 1.4+,此答案现在已过时,因为 ADMIN_MEDIA_PREFIX 现在已过时。更多信息,请参阅release notes for Django 1.4

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 2011-12-07
        • 1970-01-01
        • 1970-01-01
        • 2015-08-16
        • 1970-01-01
        • 2022-12-04
        • 1970-01-01
        • 2013-09-12
        相关资源
        最近更新 更多