Django Model:
from django.db import models
from django.contrib.auth.models import AbstractUser
class User(AbstractUser):
# AbstractUser这个类,也就是Django框架默认使用的一个用于管理用户的User类,
这个类生成一个auth_user表。所以,要扩展用户属性,可以继承AbstractUser,
在子类UserModel中实现扩展。
nick_name=models.CharField(max_length=25,verbose_name='昵称')
user_address=models.CharField(max_length=35,verbose_name='住址')
class Meta:
# 配置自定义用户表名是user_table
db_table='user_table'
verbose_name='用户'
verbose_name_plural=verbose_name
在admin.py中如果想显示他购买的商品(或其他本表中没有或者自定义的数据时)
@admin.register(User) # 使用admin.register(Model)来注册
from django.contrib import admin
class UserAdmin(admin.ModelAdmin):
list_display = ['nick_name', 'user_address', 'email','my_order']
#自定义admin后台显示字段
def my_order(self, obj):
return obj.Order.order_no
my_order.short_description = "购买订单号"
此时后台Admin中User表会出现购买订单号一列
Django Model:from django.db import modelsfrom django.contrib.auth.models import AbstractUserclass User(AbstractUser):# AbstractUser这个类,也就是Django框架默认使用的一个用于管理用户的User类,这个类生成一个auth_user表。所以,要扩展用户属性,可以继承AbstractUser,在子类UserModel中实现扩展。 nick_n
在使用django admin时希望后台的Textarea多行文本框可以按yaml格式编写,数据库保存为Text文本类型,字段和接口中读取出来自动变为字典或列表格式。
试过pip install django-yamlfied,修改支持新版django之后
接口中返回的字段是字符串形式,不符合预期。
之前写过一版。
import yaml
from django.db import models
class YamlField(models.TextField):
def to_python(self, value): # 将数据库内容转为python对象时调用
from django.db import models
from django.contrib.auth.models import AbstractUser
class User(AbstractUser):
name = models.CharField(blank=True, max_length=255)
文件 myproj/settings.py
将到Django Admin或自定义表单中。
django-pagedown > = 2.0.0版本需要Django 2.1.0或更高版本(以前的版本应一直支持Django直至1.1左右)。
获取代码: pip install django-pagedown
将pagedown.apps.PagedownConfig添加到您的INSTALLED_APPS
收集静态文件: python manage.py collectstatic
该小部件既可以在django管理员内部使用,也可以独立使用。
在Django Admin内部:
如果要在django admin字段中使用pagedown编辑器,可以采用多种方法:
要在您的管理表单中的所有TextField使用它,请执行以下操作:
from django . contrib import admin
from django . db import models
from pagedown . widgets import AdminPagedownWidget
class Alb
django-admin-数字过滤器
django-admin-numeric-filter为Django admin提供了几个过滤器类,可用于过滤更改列表中的结果。 当将字段名称定义为list时,它在list_filter中起作用,其中第一个值为字段名称,第二个为自定义过滤器类(您可以在下面找到类)。
不要忘记从admin_actions.admin.NumericFilterModelAdmin继承模型admin来加载内部Media类中声明的自定义CSS样式和JavaScript文件。
pip install django-admin-numeric-filter
在django.contrib.admin之前,将admin_numeric_filter添加到设置文件中的INSTALLED_APPS中。
样例管理员配置
from admin_numeric_filt
1.自定义用户表注意事项
必须在settings中配置AUTH_USER_MODEL
# 覆盖默认的用户模型,使用自定义用户模型,语法:'app的名称.自定义用户模型的名称'
AUTH_USER_MODEL = 'admi.UserModel'
def my_property(self):
"""网站后台显示新的字段"""
return self.title + "---" + self.author.name # author是外键字段
# 网站后台显示的标题
my_property.short_description = "标题+作者"
# admin注册时的字段名
full_name = .
先说需求:
1、django 自带了admin后管,如果我们需要使用,只需把我们定义的models注册即可;
2、但如果只是简单注册,那显示的很简单,根本看不到每行记录的描述信息,全部以model object 形式显示,必须点击进去也能看到信息,太不方便,如下图:
1、显示关键信息
效果如下图,这样就好看多啦。
在 admin.py 文件中配置一下就行。
admi...
在开发中有需求在详情显示里外键字段内容,并且添加按钮弹窗内容,以及按钮跳转内容。
以前并没有做过相似的开发,我们的后台是xadmin,当时正在研究xadmin的插件,于是想着能不能用插件去做,后来发现太麻烦,而且实现起来我也没研究通,主要是添加按钮之类的没搞懂,于是就换了一种简单的方法。
首先先讲解下思路,admin中有几个界面,一个是展示的list界面,一个是详情的model界面,model中其实就是详情detail,里面记录了此条数据的全部内容,精简来说就是一个form表单的内容展示。
那么知道了这个就好解决了,我们只需要在form.py里添加对应的字段即可。
form自带了widget控
easy_install django-admin-customizer
将admin_customizer添加到INSTALLED_APPS :
INSTALLED_APPS += ( "admin_customizer" , )
将管理定制器的 url 添加到您的根 url conf。
Django语义UI管理员主题
Django Admin是针对Django的完全免费(MIT)的管理主题。 实际上,这是我的第三个Django管理主题。 第一个是令人难忘的,第二个是使用纯CSS的。 纯CSS很棒,但是缺少JavaScript组件。
语义UI看起来很专业,并且具有出色JavaScript组件。
看起来很专业,带有一个不错的侧边栏。
共振设计,即使在移动设备上快速响应。
JavaScript datepicker和timepicker组件。
JavaScript选择(包括多个选择)可以与Django自动完成字段很好地集成。
语义UI除jQuery外,还具有和库。 这意味着该包可用于设置管理员的样式,并且自定义视图可与具有相同样式的React或Vue组件一起添加。
从PyPI安装:
pip install django-semantic-admi
我们通过,我们的虚拟环境,我这里用的事虚拟的环境,找到python 项目中的django
其中py_for_dj是你的虚拟环境文件夹的名字,然后我们按照下面的路径寻找。找到auth文件夹,里面有个admin.py打开即可。
打开之后找到大概...
class Asset(BaseModel):
"""资产信息model"""
type = models.ForeignKey(AssetType, on_delete=models.CASCADE, verbose_name="资产类型")
name = models.CharField(verbose_name="资产名称", max_length=50)
Admin站点
内容发布的部分由网站的管理员负责查看、添加、修改、删除数据,开发这些重复的功能是一件单调乏味、缺乏创造力的工作,为此,Django能够根据定义的模型类自动地生成管理模块。
使用Django的管理模块,需要按照...
Django 的 admin 界面是一个方便管理数据库的工具,你可以通过自定义模型管理类来定制它的外观和功能。
要自定义 Django admin 界面,你需要定义一个模型管理类,并在你的模型中指定使用该类。模型管理类继承自 `django.contrib.admin.ModelAdmin`,并且可以重写它的一些属性来控制 admin 界面的外观和功能。
例如,你可以使用 `list_display` 属性来控制在列表页中显示的字段,使用 `search_fields` 属性来控制可以搜索的字段,使用 `ordering` 属性来控制列表的默认排序方式,等等。
这里是一个示例:
from django.contrib import admin
class BookAdmin(admin.ModelAdmin):
list_display = ('title', 'author', 'publisher', 'publication_date')
search_fields = ('title', 'author__name')
ordering = ('-publication_date',)
admin.site.register(Book, BookAdmin)
在这个例子中,我们定义了一个名为 `BookAdmin` 的模型管理类,并将其注册到了 `admin.site` 中,以便在 admin 界面中使用它。在该类中,我们使用了 `list_display`、`search_fields` 和 `ordering` 属性,以控制 admin 界面的外观和功能。
希望这能帮助你!
CSDN-Ada助手:
猿人学-第三题
以太猪猪:
简单JS补环境
鸿 鸿:
猿人学-第三题
我是阿尼君:
猿人学-第三题
我是阿尼君: