【发布时间】:2014-05-07 03:55:03
【问题描述】:
我有一个渲染图像的模板:
{% load staticfiles %}
<img src="{% static "img/logo.png" %}" alt="My image"/>
图片链接坏了,但它指向:
localhost/static/img/logo.png
我需要为 static_root、static_url 和 STATICFILES_DIRS 设置哪些值才能正确显示此图像?
这是我的目录结构:
我的项目名称(顶级)
--- 我的项目名称
--- --- 我的项目名称
--- --- --- 设置
--- --- --- --- base.py (setting.py)
--- --- 静态
--- --- --- 图像
这是我在设置中的静态配置:
STATIC_ROOT = '/Users/myuser/myprojectname/myprojectname'
STATIC_URL = '/static/'
STATICFILES_DIRS = (
#normpath(join(SITE_ROOT, 'static')),
os.path.join(BASE_DIR, "static"),
'/Users/myuser/myprojectname/myprojectname/static',
)
这是它显示的内容:
我已经做了一个collectstatic,但这不起作用。
【问题讨论】:
-
您的网络服务器环境是什么?您是在运行
manage.py runserver,还是有合适的网络服务器? Django 通常根本不提供静态文件,你必须设置你的网络服务器来直接提供它们,除非你运行manage.py runserver,它确实 提供静态文件(因为你没有网络服务器在这种情况下承担责任) -
我正在本地机器上运行 manage.py。根据这个在 dev 中运行将提供文件:docs.djangoproject.com/en/1.6/howto/static-files
-
除了 STATIC_URL 和 STATICFILES_DIRS 的设置之外,您还需要发布应用的目录结构来诊断问题。
-
@Brandon 我已经添加了目录结构和设置配置。
标签: django django-templates django-staticfiles django-settings