我有一個模板,我希望能夠直接提供並在我的Django應用程序中嵌入任意其他模板。我試圖爲它創建一個視圖類,看起來像這樣:將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的網址。不過,我一直無法弄清楚如何實例TemplateView
,這樣我可以從其他視圖調用get_string
。
必須有一個更好的方式去這樣做。想法?
更新:我看到一些人在談論發出請求,並在內部使用response.content
,這將節省我不必寫get_string
方法。所以,也許一個更好的問題是:如何讓我從另一個視圖TemplateView
的請求?
你是如何將'get'連接到你的Django URL的? 'get'通常通過View的dispatch()方法調用。 –
@DerekKwok我的意思是說我連接了'TemplateView.as_view',後者又調用GET請求'get'。 –