【问题标题】:Serving static images on webfaction-hosted django site在 webfaction 托管的 django 站点上提供静态图像
【发布时间】:2014-04-12 00:58:17
【问题描述】:

我正在使用一个 webfaction 托管的 django 站点,我正在尝试让本地存储的图像正确显示,但我无法获取静态目录/权限/等。排队。

我已经根据https://docs.webfaction.com/software/django/config.htmlhttps://docs.webfaction.com/software/django/config.html的 webfaction 指南配置了所有内容

在我项目的模板文件夹中,我有一行:

<img src="{{ STATIC_URL }}{{ project.overview_image }}">

project.overview_image 是一个 CharField,我可以在其中列出图像所在的子目录。

在我的 settings.py 中,我有:

STATIC_URL = 'http://morphogen.cc/static/'
STATIC_ROOT = '/home/scottnla/webapps/static_media/'
STATICFILES_DIRS = (
'/home/scottnla/webapps/portfolio_website/portfolio_website/static/'
)

/webapps/static_media/ 是我的静态媒体应用程序。

在我项目的本地 /static/ 文件夹中,我的文件夹中有一张图片

/home/scottnla/webapps/portfolio_website/portfolio_website/static/images/small/img.jpg

当我运行“manage.py collectstatic”时,图像被复制到:

/home/scottnla/webapps/static_media/images/small/img.jpg

但是当我查看提供的 HTML 页面时,图像没有显示。

当我检查元素时,我看到图像源被列为:

<img src="http://morphogen.cc/static/images/small/img.jpg">

这似乎与上述所有内容一致,但如果我直接进入该目录,则会收到 403 Forbidden Error。

解决此问题的下一步是什么?

谢谢。

【问题讨论】:

  • 您在该目录中是否有静态站点?
  • 我已按照 webfaction 文档中的说明进行操作,根据我的 webfaction 帐户,“static_media”目前正在为“/static”提供服务。还有什么我应该检查的以确保静态网站正常服务吗?

标签: django django-staticfiles webfaction


【解决方案1】:

您的 settings.py 应该如下所示。

STATIC_ROOT = '/home/USER_NAME/webapps/static_media/'
STATIC_URL = '/static/'

STATIC_DIR 已过时,对于单个静态文件夹来说是不必要的

另外,你必须有

INSTALLED_APPS = ( 
     ...
'django.contrib.staticfiles', 
     ...
)

如果您仍有问题,请查看Django Static Files Documentation

【讨论】:

    猜你喜欢
    • 2015-10-17
    • 2010-12-21
    • 1970-01-01
    • 1970-01-01
    • 2023-04-04
    • 1970-01-01
    • 2017-01-12
    • 2021-07-30
    • 2015-01-27
    相关资源
    最近更新 更多