首页 > 其他 > 详细

【django 组件】admin修改界面

时间:2021-03-28 11:26:01      阅读:22      评论:0      收藏:0      [点我收藏+]
class Value_A(admin.ModelAdmin):

    list_display = (name,"href_requests","href_link")
    list_filter = [name,]

    # 定义
    def get_form(self, request, obj=None, **kwargs):

        form = super(Value_A, self).get_form(request, obj, **kwargs)


        form.base_fields[‘link‘].widget.attrs[‘style‘] = ‘width: 1000px;‘
        form.base_fields[‘name‘].widget.attrs[‘style‘] = ‘width: 1000px;‘

        form.base_fields[‘text‘].widget.attrs[‘cols‘] = ‘100‘
        form.base_fields[‘text‘].widget.attrs[‘rows‘] = ‘30‘
        form.base_fields[‘text‘].widget.attrs[‘style‘] = ‘width: 1000px;‘

        return form




    formfield_overrides = {
        models.Value_A: {widget: Textarea(attrs={rows: 10, cols: 50})},
    }

    list_per_page = 20

    actions = ["export_as_excel"]
    def export_as_excel(self, request, queryset):
        meta = self.model._meta  # 用于定义文件名, 格式为: app名.模型类名
        field_names = [field.name for field in meta.fields]  # 模型所有字段名
        response = HttpResponse(content_type=application/msexcel)  # 定义响应内容类型
        response[Content-Disposition] = fattachment; filename={meta}.xlsx  # 定义响应数据格式
        wb = Workbook()  # 新建Workbook
        ws = wb.active  # 使用当前活动的Sheet表
        ws.append(field_names)  # 将模型字段名作为标题写入第一行
        for obj in queryset:  # 遍历选择的对象列表

            for field in field_names:
                data = [f{getattr(obj, field)} for field in field_names]  # 将模型属性值的文本格式组成列表
            ws.append(data)
        wb.save(response)
        return response

    export_as_excel.short_description = 导出Excel  # 该动作在admin中的显示文字

admin.site.register(models.Value_A, Value_A)

 

【django 组件】admin修改界面

原文:https://www.cnblogs.com/wanghong1994/p/14587384.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!