2011-08-14 21 views
0

我有一些模板中的静态文件(图像),而调试设置为True时出现问题:图像不显示。 这里是一些设置和模板的代码:http://dpaste.com/594183/Django&静态文件,而调试模式打开

使用这些设置,打印的html不包含静态文件的正确路径。在任何情况下,我都记得前一段时间,即使没有显示正确的路径图像,也许问题不是路径。

谢谢,卢克

回答

0

你在哪里把你的静态文件? 在新的Django中,您应该将它们放在应用程序中,例如如果您有一个名为'blog'的应用,请创建一个目录blog/static并将您的文件放在那里。 调试服务器(manage.py runserver)将在localhost/static /中为它们提供服务。

0

首先想到你的粘贴的第一件事是有一个空间插入到你的路径。在CSS的背景图片的url中,上下文变量STATIC_URL和硬编码路径之间有一个空格。小心django中的空间,它的模板引擎可能会对它们造成严重的破坏,并且通常不会为你清理它们。其中一种情况是{{ value|length }},如果在管道周围插入空格,则该值无法正确解析为其长度;这是有道理的,因为空格分隔参数。要么通过删除CSS Url中的空间来补救此问题,要么改用更灵活的{%static“filename.png”%}模板标记。

查看https://docs.djangoproject.com/en/dev/howto/static-files/了解更多解释。

还值得注意的是,当您在调试模式之外运行系统时,将无法为您管理静态文件。在生产中,你负责自己管理你的静态文件。