Django Admin中添加自定义视图教程

在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>
图片[1]-Django Admin中添加自定义视图教程-山海云端论坛
© 版权声明
THE END
喜欢就支持一下吧
点赞10 分享
评论 抢沙发

请登录后发表评论

    暂无评论内容