本地化
时间和语言的本地化
在settings.py中作如下修改
# LANGUAGE_CODE = 'en-us'
LANGUAGE_CODE = 'zh-hans'
# TIME_ZONE = 'UTC'
TIME_ZONE = 'Asia/Shanghai'
添加管理员
python manage.py createsuperuser
输入管理员信息后输入下面的命令
python manage.py runserver
打开浏览器输入 http://127.0.0.1:8000/admin
登录之后
注册模型类
在admin.py中注册模型类
from django.contrib import admin
from goods.models import BookInfo, HeroInfo
# Register your models here.
# 注册模型类
admin.site.register(BookInfo)
admin.site.register(HeroInfo)
注册模型类之后刷新界面
第一次注册模型类之后,点击BookInfo出现了以下错误,后来修改了pubdate为DateTimeField类型,重置数据库,解决了。
参考
解决之后点击Book infos
为了便于管理对str方法进行修改
from django.db import models
# Create your models here.
class BookInfo(models.Model): # 必须继承模型类
title = models.CharField(max_length=32) # 字符型,最大长度32
pubdate = models.DateTimeField() # 如果用DateField会报overflow错误
def __str__(self):
return self.title
# 建立表间关系
# 英雄人物类
class HeroInfo(models.Model):
# 姓名
hname = models.CharField(max_length=32)
# 性别,性别为布尔型,默认值是False,代表男
hgender = models.BooleanField(default=False)
# 备注
hcomment = models.CharField(max_length=128)
# 建立和BookInfo之间的关系,设置外键
hbook = models.ForeignKey('BookInfo', on_delete=models.CASCADE) # 输入要关联模型类的类名
def __str__(self):
return self.hname
然后就可以方便的进行管理啦
自定义后台管理页面
在admin.py里面定义后台管理类
from django.contrib import admin
from goods.models import BookInfo, HeroInfo
# Register your models here.
# 自定义后台管理类
class BookInfoAdmin(admin.ModelAdmin):
list_display = ['id', 'title','pubdate'] # 定义显示的列,这里列名要和表的字段名一致
class HeroInfoAdmin(admin.ModelAdmin):
list_display = ['id', 'hname','hgender','hcomment','hbook'] # 定义显示的列
# 注册模型类
admin.site.register(BookInfo, BookInfoAdmin) # 建立注册模型和后台管理类的映射关系
admin.site.register(HeroInfo, HeroInfoAdmin)
刷新页面