gpt4 book ai didi

python - 覆盖 django 中模型的默认 View 和模板/将变量传递给gratelli模板

转载 作者:太空宇宙 更新时间:2023-11-03 17:02:46 25 4
gpt4 key购买 nike

我正在使用 django admin 和 grappelli,并且想要覆盖某个模型的默认 View 。

我覆盖了gratelli change_form模板:

```

{% extends "grappelli:admin/change_form.html" %}
{% block javascripts %}
{{ block.super }}
<script type="text/javascript">{{Object}}</script>
{% endblock %}

```

我有 2 个问题:

  1. 如何访问 django 默认传递的模型? Objectopts 似乎都不起作用。
  2. 如何重写默认 View (我需要重写的方法是什么)以将新变量添加到模板上下文中?

提前致谢。

最佳答案

您可以在admin.py中使用change_view覆盖并通过extra_context传递变量。例如:

class GivenModel(models.Model):
def change_view(self, request, object_id, form_url='', extra_context=None):

your_obj = GivenModel.objects.get(id=asset_id.group(1))
extra_context = {'title': your_obj.description}
return super(GivenModel, self).change_view(request, object_id, form_url, extra_context)

关于python - 覆盖 django 中模型的默认 View 和模板/将变量传递给gratelli模板,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34895218/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com