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!