【问题标题】:How to write Django templates tags {% %} in HttpResponse如何在 HttpResponse 中编写 Django 模板标签 {% %}
【发布时间】:2016-03-30 11:09:07
【问题描述】:
我不知道如何解决这个问题...
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)
【问题讨论】:
标签:
python
django
django-templates
django-template-filters
【解决方案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))