django 自带的admin登录页面可以换自己做的登录页面吗?

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了django 自带的admin登录页面可以换自己做的登录页面吗?相关的知识,希望对你有一定的参考价值。

参考技术A 可以,重写 admin 登录使用的模版就行了。
可以参考 Django 的官方文档。

admin——django自带数据库管理工具

admin是Django自带的数据库管理工具,是一个app

在admin.py中可以自己定制类来使admin数据库管理页面展现自己想要查看的信息

 

models.py

技术分享图片
from django.db import models

# Create your models here.


class Book(models.Model):
    title = models.CharField(max_length=32)
    price = models.DecimalField(max_digits=6, decimal_places=2)
    pub_date = models.DateField()
    authors = models.ManyToManyField(to="Author")

    def __str__(self):
        return self.title


class Author(models.Model):
    name = models.CharField(max_length=32)

    def __str__(self):
        return self.name
View Code

 

admin.py

技术分享图片
from django.contrib import admin
from app01.models import *

# Register your models here.


class BookConfig(admin.ModelAdmin):
    """自定制类  使得在admin数据库管理页面可以看到自己想要看的信息"""
    list_display = ["title", "price", "pub_date"]  # 多对多字段不可以用于此处
    list_display_links = ["title"]  # 设置可链接的字段  设置后,点击该字段便可以进入编辑页面
    list_filter = ["pub_date"]  # 以所设置的字段作为筛选器 进行记录查询
    list_editable = ["price"]  # 设置可编辑字段,注意:如果在list_display_links中设置了的字段,在此处不可以再设置
    search_fields = ["title", "price"]  # 设置检索字段(模糊查询:输入关键字即可查询)
    date_hierarchy = "pub_date"  # 过滤日期

    # action:批量操作记录
    def func(self, request, queryset):  # request:请求  queryset:所选中的那些你想要操作的数据
        print(self, request, queryset)
        # 对选中记录作操作:
        queryset.update(pub_date="2012-1-1")  # 将所选记录的出版日改为2012年1月1日
    func.short_description = "出版日改为2012年1月1日"
    actions = [func,]

    fields = ["title", "price", "pub_date", "authors"]  # 在添加记录的页面显示的字段
    # exclude = ["pub_date"]  # 在添加记录的页面不显示的字段,与fields相反

    ordering = ["id"]  # 按id升序排列   降序用["-id"]


admin.site.register(Book, BookConfig)  # 源码:register(self, model_or_iterable, admin_class=None, **options)
# model_or_iterable=Book, admin_class=BookConfig

print(admin.site._registry)

admin.site.register(Author)
View Code

 

技术分享图片

 

以上是关于django 自带的admin登录页面可以换自己做的登录页面吗?的主要内容,如果未能解决你的问题,请参考以下文章

django中后台admin我是自己写的,现在要用用户认证这块了,感觉他自带的认证功能比较好,如何使用呢

Django打造在线教育平台_day_3: 搭建后台管理系统Django自带的admin

django在admin后台注册自己创建的数据库表

django admin实现后台多用户隔离

Django 是否不用写后台的,用自带的 admin 管理数据库就行了

自定义admin