django在静态文件子文件夹中找不到静态文件
django 1.6.5
我的静态文件放在静态文件的一个子文件夹里。
djangoprj
djangoprj
settings.py
urls.py
wsgi.py
__init__.py
static
myapp
mystaticfiles
...
apps
myapp
...
templates
*.html
...
在我的模板文件中,我用完整路径链接静态文件。
<img src="/static/myapp/images/my.png" />
但是这些文件找不到,我收到了404错误。
当我把settings.py改成这样
STATIC='/static/myapp/'
我就能找到这些静态文件了。但我不想这样做。为什么当STATIC='/static/'
时不行呢?有没有什么简单的方法解决这个问题,而不是手动执行命令,比如'collectstatic'?我已经把我的静态文件放在static
文件夹里,并且在我的模板文件中使用了完整路径。为什么还是不行呢?提前谢谢你。
2 个回答
1
你可以在这些回答中找到一些帮助
在我的配置中,我的文件夹结构是这样的,静态文件放在我的应用里
djangoprj
djangoprj
settings.py
urls.py
wsgi.py
__init__.py
apps
myapp
...
templates
*.html
static
myapp
mystaticfiles
...
...
在设置里
INSTALLED_APPS = (
...
'django.contrib.staticfiles',
...
)
STATIC_URL = '/static/'
在模板中我使用了 'static' 标签
{% load staticfiles %}
<link rel="stylesheet" type="text/css" href="{% static 'posts/style.css' %}" />
希望这些能帮到你
2
现在你把静态文件夹切换到了 '/static/myapp/'
在你的标签中,你应该使用 <img src="/static/images/my.png" />
。
通常情况下,你应该使用 {% static %}
这个模板标签来做到这一点,像下面这样(假设 STATIC='/static/'
)。
{% load staticfiles %}
<img src="{% static 'myapp/images/my.png' %}" />
想了解更多,可以查看教程,https://docs.djangoproject.com/en/1.6/intro/tutorial06/
我建议你阅读所有的教程(第1部分到第6部分),在 https://docs.djangoproject.com/en/1.6/
这样你就能对基础知识有更深入的了解。