zoukankan      html  css  js  c++  java
  • 【django 组件】admin修改界面

    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'] = ' 1000px;'
            form.base_fields['name'].widget.attrs['style'] = ' 1000px;'
    
            form.base_fields['text'].widget.attrs['cols'] = '100'
            form.base_fields['text'].widget.attrs['rows'] = '30'
            form.base_fields['text'].widget.attrs['style'] = ' 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'] = f'attachment; 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)
    主攻:Python 数据分析 web 机器学习 图像识别。。 副攻:JAVA WEB 安卓 大数据
  • 相关阅读:
    [009]类型转换
    [008]new、delete及动态内存分配
    [007]操作符的求解顺序
    [010]转+修正---C++的贪吃蛇程序(未用面向对象封装)
    [006]为什么C++会被叫做是C++?
    [005]逗号表达式
    [JavaScript]转--如何让JS代码高大上
    [009]C---关于输出文本的打印问题
    [008]C---gcc环境下的一个编译器版本问题
    PlayMaker 状态机FSM重用
  • 原文地址:https://www.cnblogs.com/wanghong1994/p/14587384.html
Copyright © 2011-2022 走看看