Django自带后台admin的使用配置

Django自带后台使用配置
参考官网地址:https://docs.djangoproject.com/en/1.11/ref/contrib/admin/ ,本文章值是介绍简单配置,如果需要详细内容可以查阅官方文档

用过Django框架的童鞋肯定都知道,在创建完Django项目后,每个app下,都会有一个urls.py文件,里边会有如下几行:

from django.contrib import admin
 
urlpatterns = [
    url(r'^admin/', admin.site.urls),
]

上边看到导入的admin模块,就是本节所要说的主要内容

主要功能

  功能1:提供数据库管理功能

    基于admin模块,可以实现类似数据库客户端的功能,对数据进行增删改查

  功能2:二次开发

    基于该模块的数据管理功能,可以二次定制一些实用的功能。

  自动管理界面是Django最强大部分之一。

  它从你的模型中 读取元数据,以提供一个快速,以模型为中心的界面,让受信任的用户可以管理您的网站上的内容。

  管理员建议的使用权限于组织的内部管理工具

  它并不打算构建你的整个前端。

1.创建一个管理员账户:项目创建好后台输入 127.0.0.1:8000/admin/ 会出现登录界面

在manage.py同级目录,
命令行输入 python manage.py createsuperuser
需要添加用户名邮箱和密码

model模型 model.py, 生成迁移文件, 进行数据迁移.python3  manage.py makemigrations && python3 manage.py migrate生成表结构.

from django.db import models

# Create your models here.
class Users(models.Model):
# sid = models.AutoField(primary_key=True)
name = models.CharField(max_length=50,null=True)
age = models.IntegerField(null=True)
email = models.CharField(max_length=30)
password = models.CharField(max_length=32,null=True)
addtime = models.DateTimeField(auto_now=True,null=True)

# class Meta:
# db_table = "myhome_users"

def __str__(self):
return self.name


2.进入应用的admin.py文件,添加模型

from django.contrib import admin
from . import models
# Register your models here.
admin.site.register(models.Users)


3.运行会发现所有用户都是 类名 object
**进入model.py,给模型添加 __str__方法**

def __str__(self):
return self.name(字段名)


4.后台其他设置,继续修改admin.py文件

最终修改成下面
from django.contrib import admin
from . import models
# Register your models here.
class UsersAdmin(admin.ModelAdmin):
# 要展示的字段
list_display = ('id','name','age','email','password','addtime')

# 每一页显示多少条数据,默认是100条
list_per_page = 5

# 设置默认排序字段,负号表示降序排序
ordering = ('id','age')

# 设置可编辑的字段
list_editable = ['name','age']

# 过滤器
list_filter = ('name','age')

# 搜索字段
search_fields = ('name','age')
# 时间分层筛选
date_hierarchy = 'addtime'

admin.site.register(models.Users,UsersAdmin)
最后注意如果数据库有时间相关信息,或者最好直接把settings.py配置的时间设置成本地时间,修改内容如下

LANGUAGE_CODE = 'zh-Hans' # 后台默认是英文 修改成中文

TIME_ZONE = 'Asia/Shanghai' # 设置时区

USE_I18N = True

USE_L10N = True

USE_TZ = False # 设置本地时间必须改成False不然会报错...

摘词 : Everthing isn't getting along well,your efforts paid off!

posted @ 2018-11-12 11:16  String-Lee  阅读(746)  评论(0编辑  收藏  举报
Live2D