在 change_form_object_tools.html 模板中使用对象的 ID
Using object's id in change_form_object_tools.html template
我有两个指定不同路径的按钮。我想通过参数传递 object.id。
我的网址
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'),
]
我的观点
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)
** 我的模板**
{% 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 %}
我想我做错了
在 change_form_object_tools.html
模板中,您应该可以使用 original
访问对象。
{% load i18n admin_urls %}
{% block object-tools-items %}
<li>
<a href="{% url 'aprovado' original.pk %}">{% trans "Aprovado" %}</a></a>
</li>
<li>
<a href="{% url 'reprovado' original.pk %}">{% trans "Aprovado" %}</a>
</li>
{% endblock %}
一般来说,您可以使用 {% debug %}
标签或 django-debug-toolbar 来检查模板上下文中有哪些变量。
对象 ID 字符串在模板上下文中也可用 object_id
。
这可以在 ModelAdmin._changeform_view()
here 的来源中看到。
我有两个指定不同路径的按钮。我想通过参数传递 object.id。
我的网址
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'),
]
我的观点
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)
** 我的模板**
{% 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 %}
我想我做错了
在 change_form_object_tools.html
模板中,您应该可以使用 original
访问对象。
{% load i18n admin_urls %}
{% block object-tools-items %}
<li>
<a href="{% url 'aprovado' original.pk %}">{% trans "Aprovado" %}</a></a>
</li>
<li>
<a href="{% url 'reprovado' original.pk %}">{% trans "Aprovado" %}</a>
</li>
{% endblock %}
一般来说,您可以使用 {% debug %}
标签或 django-debug-toolbar 来检查模板上下文中有哪些变量。
对象 ID 字符串在模板上下文中也可用 object_id
。
这可以在 ModelAdmin._changeform_view()
here 的来源中看到。