在基于类的视图中返回 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 基于类的视图中的字段派生模板名称

如何使用基于类的视图在同一模板中使用两个不同的 Django 表单

如何在基于类的视图中使用LoginRequiredMixin来发送一个django错误信息?

将 html 表单数据获取到基于 django 类的视图中

Django 使用 URL 参数在基于类的视图中查询数据库

htmx 和 django 基于类的视图