如何-在django中将字符串渲染为模板

时间:2020-09-07 21:39:45

标签: django-views

我一直想知道如何通过传递内置视图字符串来呈现模板,这样我就不需要创建html文件了。我阅读了Django Docs,但就所有有关提供模板路径字符串的信息,我也找不到有关的解释(我也尝试了几行,但一无所获)。

请以这个为例:

'action'    =>   '',
'quantity'  =>   '',
'item_code'     =>   '',
'product_name'  =>   '',

因此,如果能够做到这一点……那么,我认为它具有很大的潜力,因为它在多功能性和顺便说一句方面都有所进步。

#我是Django的新手

感谢您的关注

1 个答案:

答案 0 :(得分:1)

您可以使用模板字符串构造一个Template object [Django-doc],然后对其进行.render(…) [Django-doc]

from django.http import HttpResponse
from django.template import Template, RequestContext

def my_view(request):
    arbitrary_string_as_template = """
        <form action="" method="POST">
        {% csrf_token %}
        <label for="">Username</label>
        <input type="text" name="username">
        <label for="">Password</label>
        <input type="password" name="password">
        <button type="submit">
            submit
        </button>
        </form>
    """
    template = Template(arbitrary_string_as_template)
    context = RequestContext(request)
    return HttpResponse(template.render(context))

但是,如果内容是静态的,则建议使用文件。 分离关注点和编写清晰的文件(每个文件都专注于特定部分)变得更加容易。

相关问题