我正在使用Apache + wsgi_mod开发一个django应用程序。我定义了一个简单的查看器返回用户的图像。但是如果用户没有任何图片我想要渲染静态标准图像(取决于性别),存储在我的静态文件夹中。我知道我可以使用static.serve()但是django文档可以解决这个问题。 如何从观众提供静态文件?
更新:
viewer是views.py中定义的方法(例如,img)
我可能希望将HttpResponseRedirect()返回到我的静态内容。但我需要绝对的URL。
我需要这个,因为我有类似的东西:
def img(request, usr_id):
usr_image = get_usr_image(usr_id)
if usr_image == None:
return respond_with_standard_image()
else:
response = HttpResponse(mimetype='image/jpg')
response.write(usr_image)
return response
并希望使用标准用户图片进行回复。
UPDATE2:
我可以这样做:
return HttpResponseRedirect('http://' + request.get_host() + settings.STATIC_URL + 'img/125px-Silver_-_male.png')
但我不满意。
答案 0 :(得分:0)
Django不应该参与渲染图像或任何其他静态文件。您应该将用户图像放在自定义目录中,并直接使用Web服务器提供。
如果原始文件不存在,则可以使用重写规则轻松渲染其他图像。