活动地址:CSDN21天学习挑战赛
django从入门到入土(四)
本地站点后台管理配置
先启动站点,登录http://127.0.0.1:8000/admin(注意端口号)
需要一个管理员账户
创建管理员账户
输入命令
createsuperuser
上图解释为输入admin账号,密码,邮箱可用为空所以这里直接回车,最后提示
The password is too similar to the username. This password is too short. It must contain at least 8 characters. This password is too common. Bypass password validation and create user anyway? [y/N]: y
大意是账号和密码过于常见,是否确认创建 yes或者NO的首字母 这里选择y创建成功
登录站点发现是英文对我们有点不友好,所以接下来修改为中文以及时区修改
修改语言以及时区
打开mysite/setting文件
将对应配置修改为以下内容
LANGUAGE_CODE = "zh-Hans"
TIME_ZONE = "Asia/Shanghai"
修改成功,接下来添加自定义应用模型注册到后台管理中
注册子应用模型到后台管理
添加如下三行代码(注册的是models模型中的类)
from .models import StudentInfo,courseinfo
admin.site.register(StudentInfo)
admin.site.register(courseinfo)
结果如上图,接下来增添数据直接图形化界面操作
由于字段默认显示为英文,我们修改为中文显示
修改后台字段显示为中文
在子应用的models文件对应表类
增加一个参数 例如:verbose_name="学生姓名"
class StudentInfo(models.Model):
id=models.CharField(max_length=20,primary_key=True,verbose_name="学号")
name=models.CharField(max_length=20,default='',verbose_name="学生姓名")
class courseinfo(models.Model):
name=models.CharField(max_length=20,verbose_name="课程名字")
courseid=models.CharField(max_length=20,primary_key=True,verbose_name="课程代码")
score=models.CharField(max_length=20,default='',verbose_name="课程得分")
student = models.ForeignKey(StudentInfo,on_delete=models.CASCADE,verbose_name="关联学生") #todo:外键
添加完成之后,默认显示为对象,接下来使其显示实例名称
后台将对象转化为显示实例名
重写studentinfo
类的str
方法
class StudentInfo(models.Model):
id=models.CharField(max_length=20,primary_key=True,verbose_name="学号")
name=models.CharField(max_length=20,default='',verbose_name="学生姓名")
def __str__(self): #这里是两条下划线
return self.name
结果展示
然后增添一个课程数据并将其于张三关联
修改slaveapp主页的信息显示为中文
修改前
修改需要我们编写元类 ,依然是models
文件
class StudentInfo(models.Model):
id=models.CharField(max_length=20,primary_key=True,verbose_name="学号")
name=models.CharField(max_length=20,default='',verbose_name="学生姓名")
def __str__(self):
return self.name
class Meta:
verbose_name='学生信息管理'
verbose_name_plural=verbose_name #取消复数形式
class Meta为一个内部类 类名是固定不能修改的 courseinfo
类的元类类似
class Meta:
verbose_name='课程管理'
verbose_name_plural=verbose_name #取消复数形式
修改首页名称为中文,修改子应用名称为中文
在子应用的apps
文件内增添verbose_name="学生信息管理系统"
:
from django.apps import AppConfig
class SlaveappConfig(AppConfig):
default_auto_field = "django.db.models.BigAutoField"
name = "slaveapp"
verbose_name="学生信息管理系统"
第二种注册子应用方法
setting文件
INSTALLED_APPS = [
"django.contrib.admin",
"django.contrib.auth",
"django.contrib.contenttypes",
"django.contrib.sessions",
"django.contrib.messages",
"django.contrib.staticfiles",
'slaveapp.apps.SlaveappConfig',
]
后台管理界面大概自定义子应用框架完成
结束
今天学会了后台管理配置,下期学习视图和模板
希望能收藏或者点赞关注