博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
Django Admin
阅读量:5993 次
发布时间:2019-06-20

本文共 2751 字,大约阅读时间需要 9 分钟。

  hot3.png

设置中文:

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 转义

转载于:https://my.oschina.net/esdn/blog/825208

你可能感兴趣的文章
c++实现大数乘法
查看>>
python Pandas 读取数据,写入文件
查看>>
物化视图及索引
查看>>
单项实时同步 rsync+inotify-tools
查看>>
React + umi +antd+antv/g6 实现力图
查看>>
图像处理之应用卷积一实现噪声消去
查看>>
Zabbix邮件报警--SendEMail
查看>>
IPsec
查看>>
open*** 为指定客户端配置规则和访问策略
查看>>
EntityFramework优化:第一次启动优化
查看>>
Python基础:数据类型-字符串(7)
查看>>
Jenkins可持续集成_3. Ansible结合Jenkins完成CI/CD实例
查看>>
JavaScript之数组
查看>>
Apache CXF REST example
查看>>
Nginx使用和配置
查看>>
epoll的解释
查看>>
PHP Fatal error: Unable to start eAccelerator module in Unknown on line 0
查看>>
linux 系统初始化超级脚本
查看>>
TCP三次握手详细分析
查看>>
修改远程桌面端口
查看>>