Django的STATIC_URL和Ajax请求

时间:2012-11-19 11:29:25

标签: python django django-templates

我的网页向服务器发出AJAX调用,以动态选择要显示的图像。我遇到的问题是STATIC_URL变量的计算结果为空字符串,因此图像无法加载。

这是我正在使用渲染图像路径的代码。

text = "<img src=\"{{ STATIC_URL }}/images/%s\"> %s" % (ball_file, val)
t = Template(text)
tt = t.render(Context())

非常感谢任何帮助。

2 个答案:

答案 0 :(得分:2)

为什么甚至使用模板?这不行吗?

from django.conf import settings

text = u'<img src="%simages/%s"> %s' % (settings.STATIC_URL, ball_file, val)

请注意,STATIC_URL应包含尾部斜杠,因此在此示例中为%simages,而不是%s/images

答案 1 :(得分:2)

您尚未为该模板提供任何上下文,因此包括STATIC_URL在内的所有变量自然会解析为空。如果您使用RequestContext,那么将首先运行上下文处理器,因此可以使用静态URL(以及用户和其他各种内容)等额外项目。

但是我同意jpic,你最好直接用Python做这件事。