【问题标题】: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))

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2011-04-15
    • 2010-09-20
    • 2022-11-25
    • 2014-03-20
    • 2014-07-04
    • 1970-01-01
    • 2011-09-17
    相关资源
    最近更新 更多