在基于类的视图中返回 template_name + args
Posted
技术标签:
【中文标题】在基于类的视图中返回 template_name + args【英文标题】:Returning template_name + args in class-based views 【发布时间】:2014-09-12 03:43:31 【问题描述】:我有一个基于函数的视图函数:
def foo(request, id):
args = ...
return render(request, 'template_name.html', args)
我想将其转换为基于类的代码。请告诉我:
-
我应该使用什么视图 (
TemplateView
)?
我要覆盖什么方法 (render()
)?
基本上,问题是:上面的代码使用基于类的方法应该是什么样子?
【问题讨论】:
【参考方案1】:您需要使用TemplateView
并覆盖get_context_data()
方法:
class MyView(generic.TemplateView):
template_name = 'template_name.html'
def get_context_data(self, **kwargs):
context = super(MyView, self).get_context_data(**kwargs)
context.update('key1': 'value1')
return context
另请参阅:Adding extra context。
【讨论】:
非常感谢。这正是我想要的。以上是关于在基于类的视图中返回 template_name + args的主要内容,如果未能解决你的问题,请参考以下文章
如何使用基于类的视图在同一模板中使用两个不同的 Django 表单