来源:http://xieboke.net/article/100/

django admin 后台里有些输入框长度、宽度、提示语等,可能不满足我们的需求,这个时候,我们就需要对 admin 的样式进行更改。 还是先从 django 官网 找文档,发现 widget 是可以再 admin.py 里面重写的,只需要用到 django.contrib.admin.ModelAdmin.formfield_overrides(这个属性通过一种临时的方案来覆盖现有的模型中 Field (字段)类型在admin site中的显示类型。formfield_overrides 在类初始化的时候通过一个字典类型的变量来对应模型字段类型与实际重载类型的关系。)

方法一: 只改 admin.py ,缺点是 只能针对某种字段类型,不能指定字段。

# admin.py

 1 from django.contrib import admin
2 from django.forms import widgets
3 from apps.blog.models import *
4
5
6 class ArticleAdmin(admin.ModelAdmin):
7 list_display = ['id', 'thumb_shouw', 'title', 'node', 'num_views', 'show_status', 'slug', 'user']
8 list_display_links = ['id', 'thumb_shouw', 'title', 'node', 'num_views', 'user']
9 search_fields = ['title_short', 'user', 'content']
10 list_editable = ["show_status", ]
11 # style_fields = {"content": "ueditor"}
12 readonly_fields = ('slug',)
13 show_detail_fields = ['show_status', ]
14
15 # 重写 字段类型 的 widget, attrs 属性可以设置前端样式
16 formfield_overrides = {
17 models.IntegerField: {'widget': widgets.NumberInput(attrs={"style": "width:50em;", })},
18 models.CharField: {'widget': widgets.TextInput(attrs={"style": "width:50%;", "placeholder": "请输入内容"})},
19 }
20
21
22 admin.site.register(Article, ArticleAdmin)

方法二:此方法可以指定字段,而不是字段类型。 来源:https://timonweb.com/posts/override-field-widget-in-django-admin-form/

1. 首先 在 forms.py 新建一个 表单 ArticleAdminFrom # forms.py

 1 from django import forms
2 from django.forms.widgets import TextInput
3 from apps.blog.models import Article
4
5
6 class ArticleAdminForm(forms.ModelForm):
7 class Meta:
8 model = Article
9 fields = '__all__'
10 widgets = {
11 "title": TextInput(attrs={"style": "width:50%;", "placeholder": "请输入标题"}),
12 }

2. 然后在 admin.py 里面启用自定义的 ArticleAdminForm # admin.py

 1 from django.contrib import admin
2 from django.forms import widgets
3 from apps.blog.models import *
4 from apps.blog.forms import ArticleAdminForm
5
6
7 class ArticleAdmin(admin.ModelAdmin):
8 form = ArticleAdminForm # 指定了表单,就不要再用 formfield_overrides 了
9
10 list_display = ['id', 'thumb_shouw', 'title', 'node', 'num_views', 'show_status', 'slug', 'user']
11 list_display_links = ['id', 'thumb_shouw', 'title', 'node', 'num_views', 'user']
12 search_fields = ['title_short', 'user', 'content']
13 list_editable = ["show_status", ]
14 # style_fields = {"content": "ueditor"}
15 readonly_fields = ('slug',)
16 show_detail_fields = ['show_status', ]
17
18 # 重写 字段类型 的 widget, attrs 属性可以设置前端样式
19 # formfield_overrides = {
20 # models.IntegerField: {'widget': widgets.NumberInput(attrs={"style": "width:50em;", })},
21 # models.CharField: {'widget': widgets.TextInput(attrs={"style": "width:50%;", "placeholder": "请输入内容"})},
22 # }
23
24
25 admin.site.register(Article, ArticleAdmin)

django admin 字段设置的更多相关文章

  1. django admin后台设置

    #encoding:utf-8 from django.contrib import admin from son10.models import * # Register your models h ...

  2. Django admin 常用方法 model 增加只读权限

    1.Django admin model 设置查看权限 Django model 默认只有增加.删除.修改权限.没有查看权限 #model class Ad_Campaing(models.Model ...

  3. django admin 设置(转载https://www.cnblogs.com/wumingxiaoyao/p/6928297.html)

    Django admin 一些有用的设置   Django自带的后台管理是Django明显特色之一,可以让我们快速便捷管理数据.后台管理可以在各个app的admin.py文件中进行控制.以下是我最近摸 ...

  4. Django admin 一些有用的设置

      Django自带的后台管理是Django明显特色之一,可以让我们快速便捷管理数据.后台管理可以在各个app的admin.py文件中进行控制.以下是我最近摸索总结出比较实用的配置.若你有什么比较好的 ...

  5. DJANGO ADMIN 一些有用的设置(转)

    DJANGO ADMIN 一些有用的设置   Django自带的后台管理是Django明显特色之一,可以让我们快速便捷管理数据.后台管理可以在各个app的admin.py文件中进行控制.以下是我最近摸 ...

  6. django admin 编辑页面(change page) 自定义字段, 展示数据

    最近遇到一个需求, 需要在django 的 admin 编辑页内展示由用户上传的进行反馈的图片, 还要支持点击查看原图, 所以需要在编辑页内自定义 img 标签及 a 标签进行图片的展示及点击跳转 i ...

  7. Django Admin 图片路径设置显示为图片(imageField显示方法设置)

    一  使用环境 开发系统: windows IDE: pycharm 数据库: msyql,navicat 编程语言: python3.7  (Windows x86-64 executable in ...

  8. django之全局默认设置查看及admin语言设置

    django之admin语言设置 admin后台管理默认使用的是英文,有时我们需要将其设置成自己的语言以方便使用管理: 将 LANGUAGE_CODE = '' 设置为欲设置的语言即可. 以下为dja ...

  9. Django admin美化插件suit应用[原创]

    前言 由于比较懒,自己弄了一个用户验证,没有自己写后台,用了django自带的user认证,并通过admin直接进行管理,但默认的admin并不漂亮,于是使用了这个django-suit插件,效果对比 ...

  10. Django admin 权威指南(一)

    版本: Django 1.10 此部分由官方文档<6.5.1 The Django admin site>翻译而来. 6.5.1.1 概览 默认情况下,使用startproject的时候, ...

随机推荐

  1. ASP.NET Core - 依赖注入(二)

    .NET Core 依赖注入的基本用法 话接上篇,这一章介绍 .NET Core 框架自带的轻量级 Ioc 容器下服务使用的一些知识点,大家可以先看看上一篇文章 [ASP.NET Core - 依赖注 ...

  2. c语言以及高级语言中的float到底是什么以及IEEE754

    对内存里float4字节的好奇 初学计算机都要学那个什么二进制十进制什么补码 反码那些玩意儿哈,由于最近要做一个单片机往另外一个单片机发数据的需求,直接c语言指针 然后float4字节传过去不就得了吗 ...

  3. SpringMVC:RESTful案例

    目录 相关准备 功能清单 具体功能:访问首页 ①配置view-controller ②创建页面 具体功能:查询所有员工数据 ①控制器方法 ②创建employee_list.html 具体功能:删除 ① ...

  4. 五十条常用的MySQL语句

    1.查询"001"课程比"002"课程成绩高的所有学生的学号:select a.S# from (select s#,score from SC where C ...

  5. 01#Web 实战:雷达图

    成品演示 绘制雷达图 雷达图里外层 function calcPolygonX(radarX, radius, increaseAngle) { return radarX + radius * Ma ...

  6. OpenLayers地图标注及弹窗实现

    1. 引言 地图标注是在地图中进行文字或图标的标注,从而显示对应的信息 本文基于OpenLayers实现地图上图文的标注与弹窗显示 OpenLayers官网:OpenLayers - Welcome ...

  7. Vue ref属性

    ref属性 1.被用来给元素或子组件注册引用信息(id的替代者) 2.应用在html标签上获取的是真实DOM元素: 应用在组件标签上是组件实例对象 vc 3.使用方法: (1)打标识:<h1 r ...

  8. Docker和Kubernetes网络模型

    Docker网络模型 Bridge模式(默认) Docker程序启动后会创建一个bridge0网桥,并分配一个IP,可以想象成一个虚拟的交换机,创建的容器实例都会通过虚拟网卡veth pair设备连接 ...

  9. Markdown格式文档图片设置居右

    在Typora中设置图片居右 <p><img src="[图片路径]" align="right" /></p> left ...

  10. vue node Failed at the iview-admin

    npm ERR! iview-admin@1.3.1 dev: `webpack-dev-server --content-base ./ --open --inline --hot --compre ...