django admin 字段设置
来源: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 字段设置的更多相关文章
- django admin后台设置
#encoding:utf-8 from django.contrib import admin from son10.models import * # Register your models h ...
- Django admin 常用方法 model 增加只读权限
1.Django admin model 设置查看权限 Django model 默认只有增加.删除.修改权限.没有查看权限 #model class Ad_Campaing(models.Model ...
- django admin 设置(转载https://www.cnblogs.com/wumingxiaoyao/p/6928297.html)
Django admin 一些有用的设置 Django自带的后台管理是Django明显特色之一,可以让我们快速便捷管理数据.后台管理可以在各个app的admin.py文件中进行控制.以下是我最近摸 ...
- Django admin 一些有用的设置
Django自带的后台管理是Django明显特色之一,可以让我们快速便捷管理数据.后台管理可以在各个app的admin.py文件中进行控制.以下是我最近摸索总结出比较实用的配置.若你有什么比较好的 ...
- DJANGO ADMIN 一些有用的设置(转)
DJANGO ADMIN 一些有用的设置 Django自带的后台管理是Django明显特色之一,可以让我们快速便捷管理数据.后台管理可以在各个app的admin.py文件中进行控制.以下是我最近摸 ...
- django admin 编辑页面(change page) 自定义字段, 展示数据
最近遇到一个需求, 需要在django 的 admin 编辑页内展示由用户上传的进行反馈的图片, 还要支持点击查看原图, 所以需要在编辑页内自定义 img 标签及 a 标签进行图片的展示及点击跳转 i ...
- Django Admin 图片路径设置显示为图片(imageField显示方法设置)
一 使用环境 开发系统: windows IDE: pycharm 数据库: msyql,navicat 编程语言: python3.7 (Windows x86-64 executable in ...
- django之全局默认设置查看及admin语言设置
django之admin语言设置 admin后台管理默认使用的是英文,有时我们需要将其设置成自己的语言以方便使用管理: 将 LANGUAGE_CODE = '' 设置为欲设置的语言即可. 以下为dja ...
- Django admin美化插件suit应用[原创]
前言 由于比较懒,自己弄了一个用户验证,没有自己写后台,用了django自带的user认证,并通过admin直接进行管理,但默认的admin并不漂亮,于是使用了这个django-suit插件,效果对比 ...
- Django admin 权威指南(一)
版本: Django 1.10 此部分由官方文档<6.5.1 The Django admin site>翻译而来. 6.5.1.1 概览 默认情况下,使用startproject的时候, ...
随机推荐
- JZOJ 2936. 【NOIP2012模拟8.9】逐个击破
题面 各大 \(OJ\) 都有 分析 从结果入手:所有被敌方军团占领的城市都是分开的 而按最小代价删去若干条边,则剩下的图必然是若干个联通子图组成的 那么我们要使花费最小,可以是留下的边最大 并查集合 ...
- 如何在VC++ 6.0中实现拖动指令改变执行路径?
前文提要: 在VC6.0之后出现的VS系列开发工具都具有的调试功能:移动指针更改执行流,VC6不支持这个UI操作. 调试程序暂停时,源代码或"反汇编"窗口边距处的黄色箭头标记要运行 ...
- DrCush_0813_风湿性疾病, 药物和新冠指南
风湿性疾病, 药物和新冠指南 原文网址: https://rheumnow.com/news/rheumatic-diseases-drugs-and-covid-19-guidelines Jack ...
- vs修改默认端口
1.右键项目属性进去修改 2.,用txt打开sln解决方案,框框中的就是你当前的端口号
- dom4j解析和生成xml文件
解析xml大致步骤: 1: 创建SAXReader: 2: 使用SAXReader解析指定的xml文档信息,并返回对应Document对象.Document对象中就包含了该xml文中的所有信息以及结构 ...
- SAP VL02N 字段不允许编辑
METHOD if_ex_le_shp_delivery_proc~change_field_attributes. data: ls_field_attributes type shp_screen ...
- 野火FreeRTOS计数信号量实验意外处理
编译的时候,一直说xSemaphoreCreateCounting这个函数没有定义. 最后发现,是FreeRTOSConfig.h文件中,没有将使能计数信号量的宏打开. 解决办法:在FreeRTOSC ...
- battery-historian耗电量测试
Battery-Historian简介 Battery-Historian是谷歌推出的一款专门分析Bugreport的工具,是谷歌2015年I/O大会上推出的一款检测运行在android5.0(Lol ...
- Solidity8.0-02
对应崔棉大师 26-40课程https://www.bilibili.com/video/BV1yS4y1N7yu/?spm_id_from=333.788&vd_source=c81b130 ...
- K8存储之ConfigMap、Secret
ConfigMap ConfigMap是一种API对象,用来将非加密数据保存到键值对中.可以用作环境变量.命令行参数或者存储卷中的配置文件. ConfigMap供容器使用的典型用法如下: 生成为容器内 ...