设置中文:
LANGUAGE_CODE = 'zh-hans'设置时区:
settings.py 修改
TIME_ZONE = 'Asia/Shanghai'
创建超级管理员:
python manage.py createsuperuser重置DJango Admin 管理员密码:
如果你忘记了Admin的密码的话,那么就要用Django shell
python manage.py shell
2、重置密码
from django.contrib.auth.models import User user = User.objects.get(username='admin') #你的Admin 管理员帐号user.set_password('新密码') user.save()
在 app 下的 admin.py 中注册对应的数据库表:
注意:也可以写在app01.models.py 下注册 ,不过需要导入admin模块
app01.admin.py
from django.contrib import adminfrom app01 import models #导入对应的表admin.site.register(models.Host) #注册数据库中的表
此时后台即可以看到对应的表
设置数据表默认名称:
修改:app01.models.py,新增以下内容
class Meta: verbose_name_plural = ' 主机表 ' 类名复数形式_(数据库表的名称) verbose_name = ' 主机信息 ' 类(表)名
from django.db import modelsclass Host(models.Model): hostname=models.CharField(max_length=256) ip=models.GenericIPAddressField() #新增以下内容: class Meta: verbose_name_plural = '主机表' verbose_name = '主机信息'
设置每个数据库表的内容展示界面:
方式一: __str__
让主机信息下面的字段(实例对象)显示对应实例对象的属性,而不显示 xxx object
此时则需要使用 __str__ 方法了
修改app01.models.py ,新增 __str__ ,代码如下
from django.db import modelsclass Host(models.Model): hostname=models.CharField(max_length=256) ip=models.GenericIPAddressField() #新增以下内容: class Meta: verbose_name_plural = '主机表' verbose_name = '主机信息' def __str__(self): #新增 return self.hostname #让每个实例对象只显示 hostname
此时 Django 后台页面显示内容为
方式二:list_display
Tips:此时 class Meta: 下的 verbose_name = '主机信息' 不起作用,但你可以在数据库的模型字段中 增加 verbose_name
修改app01.models.py
from django.db import modelsfrom django.contrib import admin #导入admin 模块class Host(models.Model): hostname=models.CharField(max_length=256,verbose_name ='主机信息1') # 新增 verbose ip=models.GenericIPAddressField(verbose_name ='IP地址') #新增以下内容: class Meta: verbose_name_plural = '主机表' verbose_name = '主机信息' # 有list_display 时不起作用 ordering=('-ip',) #排序方式 def __str__(self): return self.hostname class HostInfoAdmin(admin.ModelAdmin): #需要导入admin list_display = ('hostname', 'ip')admin.site.register(Host,HostInfoAdmin) #在admin 下注册 Host 和HostInfoAdmin,需放注册的类后面#注册可在admin.py 或models.py 的任意一个地方
后台筛选(条件过滤)
list_filter = ('pay_status', 'goods_status')
条件过滤
search_fields = ('no',)
后台字段CSS颜色:
from django.contrib import adminfrom app.models import Orderclass OrderAdmin(admin.ModelAdmin): def get_money(self, obj): #颜色设置 if obj.money <= 0: return '%s' % obj.money else: return '%s' % obj.money get_money.short_description = '金额' #字段名称 get_money.allow_tags = True #字段HTML 转义
.short_description 字段名称
.allow_tags html 转义