在Django中,为了在Django admin actions中添加自定义视图,并在执行完action后跳转到中间页面,你可以按照以下步骤进行操作。
具体实例如下:
<code><em>#admin.py</em></code><code>@admin.register(HuoDong)</code><code>class HuoDongAdmin(admin.ModelAdmin):</code><code> actions = ['send_message']</code><code> </code><code> def send_message(self, request, queryset):</code><code> selected = queryset.values_list('pk', flat=True)</code><code> ct = ContentType.objects.get_for_model(queryset.model)</code><code> return HttpResponseRedirect('/admin/huodong/choujiangbm/sendmessage/?ct=%s&ids=%s'% (ct.pk,','.join(str(pk) for pk in selected)))</code><code> send_message.short_description = '发送小程序服务信息'</code><code> def get_urls(self):</code><code> urls = super().get_urls()</code><code> my_urls = [</code><code> path('sendmessage/',</code><code> self.admin_site.admin_view(self.sendmessage), name='sendmessage'),</code><code> ]</code><code> return my_urls + urls</code><code> def sendmessage(self,request):</code><code> ct = request.GET.get('ct')</code><code> ids=request.GET.get('ids')</code><code> return render(request,'admin/sendmessage.html',{'ct':ct,'ids':ids,})</code>
模板文件:
<code>#admin/sendmessage.html</code><code>{% extends "admin/base_site.html" %}</code><code>{% block content %}</code><code> <div id="content-main"></code><code> {% ct %}</code><code> {% ids %}</code><code> </div></code><code> {% endblock %}</code>
© 版权声明
THE END
暂无评论内容