在webfaction托管的django网站上提供静态图像

时间:2014-03-08 20:14:21

标签: django django-staticfiles webfaction

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

我已根据https://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 /是我的静态媒体应用程序。

在我项目的本地/静态/文件夹中,我在文件夹

中有一个图像
/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。

对此进行故障排除的下一步是什么?

感谢。

1 个答案:

答案 0 :(得分:0)

您的settings.py应如下所示。

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

STATIC_DIR已过时,对于单个静态文件夹

是不必要的

另外,你必须

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

如果您仍然遇到问题,请查看Django Static Files Documentation