django - 在 django 中使用类视图传递变量
问题描述
如何直接将类内的上下文同时传递给我的 html 页面?
该类是一个 updateView 但我也需要页面中的上下文:
class GL_PRUP(UserPassesTestMixin, LoginRequiredMixin, UpdateView):
model = Gas_liftM
template_name = 'Home/WELLINFO/W_lift/GL_liftUPARMTS.html'
form_class = Gas_liftFORM
def form_valid(self, form):
form.instance.author = self.request.user
return super().form_valid(form)
def test_func(self):
WeelN = self.get_object()
GLParameters = Wcomlption.objects.filter(WellID__exact=WeelN)[0]
print(GLParameters)
context={'GLParameters': GLParameters,} # need to pass this variable to my html page?
if self.request.user== WeelN.author:
return (True, context)
else:
return False
在更新 html 页面中一切正常,但无法获取 GLParameters?
{% if GLParameters %}
{{ GLParameters.WellID }} it works Tyaeb {{ GLParameters.Mndrn2 }}
{% else %}
nothing passes and happens
{% endif %}
先感谢您
解决方案
UpdateView
从多个 mixins 继承,其中之一是SingleObjectMixin
继承自ContextMixin
,因此您可以覆盖get_context_data方法,以便使用您需要的内容扩展上下文。
应该类似于(未经测试):
...
def get_context_data(self, **kwargs):
context = super().context(**kwargs)
WeelN = self.get_object()
GLParameters = Wcomlption.objects.filter(WellID__exact=WeelN).first()
context.update(
{
'GLParameters': GLParameters,
'author': self.request.user == WeelN.author
}
)
return context
推荐阅读
- python - 在 Python 中创建多答案测验时遇到问题
- powershell - Get-ADPrincipalGroupMembership 在 Expression 中按我需要的方式工作
- javascript - 试图将 csv 文件解析为对象数组
- javascript - 如何在 HEAD HTML 中切换 JS 代码,该按钮响应点击
- android - 为什么 AAssetDir_getNextFileName 总是返回 null?
- c# - 如何使用 php 将 C# 应用程序连接到 sql 数据库
- c# - 使用实体框架获取对象在对象上返回 null
- ios - 如何正确调整表格视图单元格的大小?
- c# - 倒数计时器不启动
- .net - 新项目 - NuGet 版本字符串无效:'VERSION'