您好, 欢迎来到 !    登录 | 注册 | | 设为首页 | 收藏本站

在中间页面上使用Django admin操作时出现问题

在中间页面上使用Django admin操作时出现问题

我找到了一种简单的方法。它对我有用…我希望对您有所帮助:

您需要做的是将选定的项目“传递”到确认页面,并将它们包括在表单中,并包括<input type="hidden" name="action" value="admin_action" />以便django管理员知道它仍应调用admin action。该post是只知道是否处理查询集或渲染确认页面

# Write your admin action.
# IMPORTANT: Note the context passed to TemplateResponse

from django.contrib.admin import helpers
from django.template.response import TemplateResponse

class MyModelAdmin(admin.ModelAdmin):
    def admin_action(self, request, queryset):
        if request.POST.get('post'):
            # process the queryset here
        else:
            context = {
                'title': _("Are you sure?"),
                'queryset': queryset,
                'action_check@R_104_2419@_name': helpers.ACTION_CHECK@R_104_2419@_NAME,
            }
            return TemplateResponse(request, 'path/to/template.html',
                context, current_app=self.admin_site.name)

# The template
{% extends "admin/base_site.html" %}
{% load i18n l10n %}

{% block content %}
<form action="" method="post">{% csrf_token %}
    <p>The following videos will be accepted:</p>

    <ul>{{ queryset|unordered_list }}</ul>

    <div>
    {% for obj in queryset %}
    <input type="hidden" name="{{ action_check@R_104_2419@_name }}" value="{{ obj.pk|unlocalize }}" />
    {% endfor %}
    <input type="hidden" name="action" value="admin_action" />
    <input type="hidden" name="post" value="yes" />
    <input type="submit" value="{% trans "Yes, I'm sure" %}" />
    </div>
</form>
{% endblock %}
Go 2022/1/1 18:39:53 有360人围观

撰写回答


你尚未登录,登录后可以

和开发者交流问题的细节

关注并接收问题和回答的更新提醒

参与内容的编辑和改进,让解决方法与时俱进

请先登录

推荐问题


联系我
置顶