2015-12-23 19 views
1

我不知道如何解決這個問題?怎麼寫Django模板標籤{%}中的HttpResponse

template tags image

def generate_some_svg_data(): 
    return '{% block content %}<svg width="100" height="100"> <circle cx="50" cy="50" r="40" stroke="green" stroke-width="4" fill="yellow" /> </svg>{% endblock %}' 

def my_view(request): 
    svg_data = generate_some_svg_data() 
    return HttpResponse(svg_data) 
+0

從圖像看起來好像一切都很完美,你的問題是什麼? – Anentropic

+0

你爲什麼要這樣做?爲什麼不使用模板? –

回答

1

你需要告訴Django是svg_data是一個Django模板解讀標籤:

from django.template import RequestContext, Template 

def generate_some_svg_data(): 
    return '{% block content %}<svg width="100" height="100"> <circle cx="50" cy="50" r="40" stroke="green" stroke-width="4" fill="yellow" /> </svg>{% endblock %}' 

def my_view(request): 
    svg_data = generate_some_svg_data() 
    template = Template(svg_data) 
    return HttpResponse(template) 

的情況下,你有一個背景下也可以如下操作:

def my_view(request): 
    context = RequestContext(request, {"a":1, "b":2}) 
    svg_data = generate_some_svg_data() 
    template = Template(svg_data) 
    return HttpResponse(template.render(context)) 
+0

謝謝你的第二個解決方案 – gb1982