You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何基于Django UpdateView向Jinja2模板传递自定义数据?

在Django UpdateView类视图中传递额外模板数据

在Django的类视图中传递自定义数据到模板,核心是重写get_context_data()方法——这个方法负责构建模板上下文,你可以在父类默认上下文的基础上,添加自己需要的键值对。

修改你的CampaignEditor类如下:

class CampaignEditor(UpdateView):
    model = Campaigns
    template_name = 'dashboard/add_campaign.html'
    form_class = CampaignsForm

    def get_context_data(self, **kwargs):
        # 先获取父类生成的默认上下文(包含form、当前编辑的Campaign实例等)
        context = super().get_context_data(**kwargs)
        # 添加自定义数据到上下文
        context['username'] = self.request.user.username  # 从当前请求的登录用户获取用户名
        context['title'] = 'Edit campaign page'  # 按UpdateView场景设置标题,可按需修改
        # 如果需要额外的data字段,在这里补充:
        # context['data'] = 你的数据获取逻辑
        return context

关键说明

  • 必须先调用父类的get_context_data(),确保保留类视图默认提供的上下文数据(比如表单实例、当前编辑的对象)
  • 往context字典中添加的键(username、title)要和模板中使用的变量名完全对应
  • 用户名如果不是来自登录用户,替换成你实际的获取逻辑即可

内容的提问来源于stack exchange,提问作者juniorDev

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.11 06:05:22