• django之admin后台管理


    admin后台管理

    """
    django给你提供了一个可视化的界面用来让你方便的对你的模型表
    进行数据的增删改查操作
    
    如果你先想要使用amdin后台管理操作模型表
    你需要先注册你的模型表告诉admin你需要操作哪些表
    
    去你的应用下的admin.py中注册你的模型表

    admin.py

    from django.contrib import admin
    from app01 import models
    
    # Register your models here.
    admin.site.register(models.UserInfo)    # 注册的表名会默认加个后缀s,如果想自定义可以在models.py中在类中定义一个Meta类,见下面
    admin.site.register(models.Blog)
    admin.site.register(models.Category)
    admin.site.register(models.Tag)
    admin.site.register(models.Article)
    admin.site.register(models.Article2Tag)
    admin.site.register(models.UpAndDown)
    admin.site.register(models.Comment)

    表名默认会加s后缀,可以在models.py中更改,如下:

    from django.db import models
    from django.contrib import auth
    from django.contrib.auth.models import AbstractUser
    
    
    class UserInfo(AbstractUser):
        phone = models.BigIntegerField(null=True,verbose_name="手机号")
        # 头像
        avatar = models.FileField(upload_to="avatar/",default='avatar/default.png')
        """
        给avatar字段传文件对象 该文件会自动存储到avatar文件夹 然后avatar字段只保存文件路径avatar/default.png
        """
        create_time = models.DateTimeField(auto_now_add=True)
    
        blog = models.OneToOneField(to='Blog',null=True)
        class Meta:
            verbose_name_plural = "用户表"   # 修改admin后台管理默认的表名
            # verbose_name = "用户表"     # 使用verbose_name更改还是会加s ==> 用户表s

    注意1:

    # admin会给每一个注册了的模型表自动生成增删改查四条url
    http://127.0.0.1:8000/admin/app01/userinfo/ 查
    http://127.0.0.1:8000/admin/app01/userinfo/add/ 增
    http://127.0.0.1:8000/admin/app01/userinfo/1/change/ 改
    http://127.0.0.1:8000/admin/app01/userinfo/1/delete/ 删
    
    
    http://127.0.0.1:8000/admin/app01/blog/ 查
    http://127.0.0.1:8000/admin/app01/blog/add/ 增
    http://127.0.0.1:8000/admin/app01/blog/1/change/ 改
    http://127.0.0.1:8000/admin/app01/blog/1/delete/"""
    关键点就在于urls.py中的第一条自带的url
    
    前期我们需要自己手动苦逼的录入数据,自己克服一下
    """

     注意2:虽然我们在models.py中的class模型类中设置了字段可以为空,但是admin后台管理不允许为空,如果要admin后台管理也可以为空需要给字段添加blank=True

    from django.db import models
    from django.contrib import auth
    from django.contrib.auth.models import AbstractUser
    
    # Create your models here.
    
    class UserInfo(AbstractUser):
        phone = models.BigIntegerField(null=True,blank=True,verbose_name="手机号")
        """
        null=True   数据库该字段可以为空
        blank=True  admin后台管理该字段可以为空
        """
    
        # 头像
        avatar = models.FileField(upload_to="avatar/",default='avatar/default.png')
        """
        给avatar字段传文件对象 该文件会自动存储到avatar文件夹 然后avatar字段只保存文件路径avatar/default.png
        """
        create_time = models.DateTimeField(auto_now_add=True)
    
        blog = models.OneToOneField(to='Blog',null=True)
        class Meta:
            verbose_name_plural = "用户表"
            # verbose_name = "用户表"     # 使用verbose_name更改还是会加s ==> 用户表s
    
        def __str__(self):
            return self.username
  • 相关阅读:
    PHP中如何获取多个checkbox的值
    修改Netbeans默认使用UTF-8编码
    php用户注册
    windows环境下MySQL重启的命令行说明
    wampserver修改mysql数据库密码后phpMyAdmin无法连接数据库
    JavaScript判断闰年
    移动端300毫秒事件响应延迟解决方法[fastclick]
    移动端一像素边框解决方案[css scale]
    移动端禁止缩放<meta>
    数据结构概念
  • 原文地址:https://www.cnblogs.com/baicai37/p/13095352.html
Copyright © 2020-2023  润新知