Как получить все значения из request.POST на промежуточных страницах действия администратора django - PullRequest
0 голосов
/ 09 мая 2019

enter image description here

Как показано выше, после нажатия кнопки «Экспорт» только команда «Django 1» возвращается через команду print ().

Хотите узнать, как получитьвсе три значения из этого вида интерактива?

# admin.py
def export(self, request, queryset):
        if "apply" in request.POST:
            queryset.update(status="exported")
            title = request.POST['title']
            print(title, _selected_action)

            self.message_user(request,
                              "Changed status on {} orders".format(queryset.count()))
            return HttpResponseRedirect(request.get_full_path())

        context = admin.site.each_context(request)  
        context.update({
            'data': queryset
        })             
        return render(request, 'admin/export.html', context=context)
    export.short_description = "export"

<!-- export.html -->
{% extends "admin/base_site.html" %}
{% block content %}

<form action="" method="POST">
    {% csrf_token %}
    {% for d in data %}
        <p>
            {{ d.pk }}.{{ d }}
            <input type="text" name="title" value={{ d.title }} size="50" autofocus />
        </p>
    <input type="hidden" name="_selected_action" value="{{ d.pk }}" />
    {% endfor %}

    <input type="hidden" name="action" value="export" />
    <input type="submit" name="apply" value="Export" />
</form>
{% endblock %}

1 Ответ

0 голосов
/ 10 мая 2019

Как упомянул @DanielRoseman в области комментариев, request.POST.getlist ('title') хорошо работает здесь.

...