【问题标题】:The default CSS of Django admin section is not loadingDjango 管理部分的默认 CSS 未加载
【发布时间】:2016-04-22 06:13:49
【问题描述】:

伙计们,我的 Django 管理部分的默认 CSS 没有加载(设置使用 nginx 反向代理 + gunicorn,操作系统是基于 Debian 的 Ubuntu)。

以下是etc/nginx/sites-available/myproject的一部分:

location /static/admin {

        alias /home/mhb11/.virtualenvs/myenv/local/lib/python2.7/site-packages/django/contrib/admin/static/;
    }

顺便说一句,它指向 django admin 的 css 文件的正确位置,并且写在 下面 location /static/ {} sn-p(此处未显示)。

请注意,我也尝试了 root 指令而不是 alias,但无济于事。另请注意,此错误仅与 django 管理静态文件有关。与项目相关的静态文件运行良好。另请注意,我的 settings.py 文件在 INSTALLED_APPS 中包含 'django.contrib.staticfiles',STATIC_URL = '/static/'

我错过了什么? 如果需要,请询问更多信息。

【问题讨论】:

  • 你应该已经定义了一个 static_dir 并运行 collectstatic。
  • 嘿丹尼尔。我在settings.py中有STATICFILES_DIRS = ( os.path.join(BASE_DIR, 'static'), ),如果这就是你的意思。所以你的意思是说我应该运行python manage.py collectstatic
  • 是的,他的意思是,但是对于命令,您必须指定 static_root(必须与 staticfiles_dirs 不同,最常见的位置是 /var/www/your_domain/static/)。
  • 在 settings.py 我有STATIC_ROOT = 'staticfiles'

标签: css django nginx


【解决方案1】:

这可能并不重要,但为了保持一致性,您的location 路径和alias 路径都应以/ 结尾都不以/ 结尾。

使用您当前的配置,服务器正在使用嵌入的// 构造路径名,例如/home/mhb11/.virtualenvs/myenv/local/lib/python2.7/site-packages/django/contrib/admin/static//somefile.css

试试:

location /static/admin/ {
    alias /home/mhb11/.virtualenvs/myenv/local/lib/python2.7/site-packages/django/contrib/admin/static/;
}

【讨论】:

  • 谢谢理查德。让我回复你这是否缓解了我的问题。
猜你喜欢
  • 2023-03-04
  • 1970-01-01
  • 2021-02-09
  • 2012-04-21
  • 2021-03-24
  • 2020-05-12
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多