2014-06-10 56 views
1

的Django的子文件夹1.6.5Django的静态

我的静态文件是下的静态子未发现静态文件。

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

您切换静态文件的文件夹'/static/myapp/'

你应该在你的标签使用<img src="/static/images/my.png" />

通常,您应该使用{% static %}模板标签来执行此操作,如下所示(假设为STATIC='/static/')。

{% load staticfiles %} 

<img src="{% static 'images/myapp/my.png' %}" /> 

了解更多,看教程,https://docs.djangoproject.com/en/1.6/intro/tutorial06/

我建议你阅读所有的教程(第一部分 - 第6部分)在https://docs.djangoproject.com/en/1.6/

这样就可以知道了深足基础。

+0

''应该是'MYAPP /图片/ my.png'和'HERE = os.path.dirname(os.path.dirname(__ file __))'settings.py中的''也可以使用'STATICFILES_DIRS =( os.path.join(HERE,“static”), )'' 。 –

2

你可以发现这些问题的答案一定的帮助也

  1. static files problem
  2. STATIC_URL Not Working

在我的配置我有哪里静态文件是我的应用程序里面这样

的目录结构
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/' 

,并在模板中我用 '静' 的标签

{% load staticfiles %} 
<link rel="stylesheet" type="text/css" href="{% static 'posts/style.css' %}" /> 

我希望这可以帮助你