在change_form_object_tools.html模板中使用对象的ID [英] Using object's id in change_form_object_tools.html template

查看:94
本文介绍了在change_form_object_tools.html模板中使用对象的ID的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我有两个指定不同路径的按钮。我想通过参数传递object.id。



我的网址

  urlpatterns = [
path('',admin.site.urls,name ='home'),
路径('dpo / imprimir / aprovado /< int:id> /',Aprovado,name ='aprovado'),
路径('dpo / imprimir / reprovado /< int:id> /',Reprovado,name ='reprovado'),
]

我的意见

 来自django。httpimport HttpResponse从django.shortcuts导入
从django.shortcuts导入render
从.models导入render_to_response
从Projeto


def Aprovado(request,id):
obj = Projeto.objects.get(id = id)
context = {
object:obj
}
return render(request, dpo / imprimir / aprovado.html,上下文)

def Reprovado(request,id):
obj = Projeto.objects.get(id = id)
context = {
object:obj
}
return render(request, dpo / imprimir / reprovado.html (上下文)

**我的模板**

  {%load i18n admin_urls%} 
{%block object-tools-items%}
< li>
< a href = {%url‘aprovado'object.id%}> {%trans Aprovado%}< / a>< / a>
< / li>
< li>

< a href = {%url‘reprovado’object.id%}> {%trans Aprovado%}< / a>
< / li>
{%endblock%}

我认为我这样做是错误的方式

解决方案

对象ID字符串也可以在模板上下文中以 object_id 的形式使用。 / p>

可以在 ModelAdmin._changeform_view()的源代码中看到这里


I have two buttons that appointing to different paths. And i want to pass the object.id with parameter.

my urls

urlpatterns = [
    path('', admin.site.urls, name ='home'),
    path('dpo/imprimir/aprovado/<int:id>/',Aprovado, name ='aprovado'),
    path('dpo/imprimir/reprovado/<int:id>/',Reprovado, name ='reprovado'),
    ]

My views

from django.http import HttpResponse
from django.shortcuts import render
from django.shortcuts import render_to_response
from .models import Projeto


def Aprovado(request, id):
        obj = Projeto.objects.get(id=id)
        context = {
                "object": obj
        }
        return render(request, "dpo/imprimir/aprovado.html", context)

def Reprovado(request, id):
        obj = Projeto.objects.get(id=id)
        context = {
                "object": obj
        }
        return render(request, "dpo/imprimir/reprovado.html", context)

** My template**

{% load i18n admin_urls %}
{% block object-tools-items %}
<li>
    <a href="{% url 'aprovado' object.id  %}">{% trans "Aprovado" %}</a></a>
</li>
<li>

    <a href="{% url 'reprovado' object.id  %}">{% trans "Aprovado" %}</a>
</li>
{% endblock %}

i think i am doing this the wrong way

解决方案

The object id string is also available in the template context as object_id.

This can be seen in the source for ModelAdmin._changeform_view() here.

这篇关于在change_form_object_tools.html模板中使用对象的ID的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆