【问题标题】:Why won't newly installed Django app with NGINX serve static assets properly?为什么新安装的带有 NGINX 的 Django 应用程序不能正确地提供静态资源?
【发布时间】:2014-09-12 17:19:31
【问题描述】:

我有一台运行 OS X 10.9.3 的 Mac。我正在尝试设置由 gunicorn 提供的 PostgreSQL 数据库支持的 Django 应用程序,并使用 NGINX 提供的静态资产。我是 Django 的老手,在开发服务器 (manage.py runserver) 上运行 MySQL。但我不熟悉使用 virtualenv、gunicorn 和 NGINX 进行设置。所以我按照here 的说明进行操作。

我的 Django 项目已在 localhost:3026 成功服务。作为数据库连接测试,我想看看 Django Admin 界面。我访问了 localhost:3026/admin/ 我在下面附上了屏幕截图。

为什么这个管理页面看起来这么难看?它缺少它应该有的必要的图形界面和 css?看起来 NGINX 没有正确地提供这些静态资产。如何排查和解决此问题?

编辑

在我发布这个问题后,我做了python manage.py collectstatic。这样就成功地将所有静态文件复制到了它们应该(我认为?)在/opt/myenv/static 中的位置。您可以看到该命令here 的输出。然后我重新启动了 gunicorn 和 nginx。我以为那会解决它。但不幸的是它没有。问题依然存在。在我的 Django settings.py 文件中,我配置了 STATIC 变量如下:

STATIC_ROOT = "/opt/myenv/static/"
STATIC_URL = '/static/'

【问题讨论】:

标签: django macos nginx gunicorn


【解决方案1】:

尝试运行命令,

python manage.py collectstatic

如果命令执行成功,会在你的项目路径中生成静态文件,然后如果你配置正确的静态路径,网页就会正确。

【讨论】:

  • 谢谢,我做到了。它去收集所有的静态文件,并成功地将它们存入我的静态目录/opt/myenv/static/。请参阅:gist.github.com/syedsaqibali/77877df8941af96f0711。我以为它会解决问题。但是管理屏幕仍然很丑陋,而且那些静态资产似乎没有被提供。
猜你喜欢
  • 1970-01-01
  • 2020-09-04
  • 2016-12-23
  • 2018-07-17
  • 2012-02-20
  • 2020-03-06
  • 1970-01-01
  • 2018-12-06
  • 2016-01-28
相关资源
最近更新 更多