我有一个模板,我希望它既可以直接提供服务,也可以嵌入到我的 Django 应用程序中的任意其他模板中。我试图为它创建一个看起来像这样的视图类:
class TemplateView(View):
def get(self, request):
context = self._create_context(request)
return render_to_response('template.html', context)
def get_string(self, request):
context = self._create_context(request)
return render_to_string('template.html', context)
def _create_context(self, request):
context = {}
# Complex context initialization logic...
return context
我已经连接get
到我的 Django URL。但是,我无法弄清楚如何实例化TemplateView
以便可以get_string
从其他视图调用。
必须有更好的方法来做到这一点。想法?
更新:我看到一些人谈论在内部提出请求并使用response.content
,这将使我不必编写get_string
方法。所以,也许一个更好的问题是:我如何TemplateView
从另一个角度提出请求?