在WebFaction主持的Django网站上提供静态图像



我正在使用WebFaction托管的Django网站,我正在尝试获取本地存储的图像以显示正确,但是我很难获得静态目录/权限/permissions/etc。排队。

我已经根据WebFaction指南配置所有内容

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

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

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

在我的设置中,我有:

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

where/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禁止错误。

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

谢谢。

您的settings.py应该看起来像这样。

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

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

另外,您必须有

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

如果您仍然遇到问题,请检查Django静态文件文档

最新更新