django从入门到入土(四)


活动地址: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',
]

后台管理界面大概自定义子应用框架完成

结束

今天学会了后台管理配置,下期学习视图和模板
希望能收藏或者点赞关注

  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

玉江仙。

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值