Python 获取django中呈现的html文本

Python 获取django中呈现的html文本,python,html,django,python-3.x,Python,Html,Django,Python 3.x,如何在django中获取呈现的html文本?我需要它,因为我想在另一个模板变量中使用html文本。我的网站有一个主模板,它有两部分,一部分是内容,另一部分是链接栏和。在内容中,我希望将呈现的html(如登录表单、新帖子和…)放入其中。我该怎么做?我的代码的一部分如下: def loginfrm(request): return render(request,'main.html', {'content':renderdhtmltext()

如何在django中获取呈现的html文本?我需要它,因为我想在另一个模板变量中使用html文本。我的网站有一个主模板,它有两部分,一部分是内容,另一部分是链接栏和。在内容中,我希望将呈现的html(如登录表单、新帖子和…)放入其中。我该怎么做?我的代码的一部分如下:

def loginfrm(request):
    return render(request,'main.html',
                         {'content':renderdhtmltext()),
                          'colum':'links',}
我的确切目的是定义一个函数,如
renderdtmltext()

是否有任何django内置于此?

render返回
HttpResponse
的实例,您可以通过
response.content
访问html内容

response = another_view(request)
rendered_html_text = response.content
属于
HttpResponse


更新:最好定义您的
base.html
并对其进行扩展,将它们的共同点放在base上。

处理站点范围内内容的正确方法是编写自定义模板标签,这样视图就不必处理它。您的视图应该只处理视图特定的内容

您能否再解释一下如何在显示内容时使用模板自定义标记。我是django的业余爱好者,我不知道怎么做。templatetag只是一段Python代码,它可以向模板的上下文中添加变量(无论是什么Python对象),也可以返回要插入模板中的文本或html。您可以在FineManual(tm)中找到更多信息:。不要害怕明显的复杂性,请进一步阅读,最常见的两种情况(包含标记和分配标记)都有快捷方式。不需要自定义标记,模板继承帮助。@user995394:模板继承不允许您访问上下文之外的任何内容。Templatetags会的。我不认为
响应。内容与他要求的不匹配。你的回答对我有用,但有更好的方法吗?我觉得这有点不好。定义你的
base.html
并扩展它,把它的共同点放在base.html中。但是告诉我如何将我的内容放在base.html中的指定位置?例如:你的base.html是
“…{%block content%}{%endblock}”
,在你的main.html
{%extends“base.html”%}{%block content%}blahblah中{%endblock%}
,然后在模板中重用表单。