溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

django-admin的使用方法是什么

發(fā)布時間:2020-09-02 11:18:07 來源:億速云 閱讀:162 作者:小新 欄目:編程語言

這篇文章將為大家詳細講解有關(guān)django-admin的使用方法是什么,小編覺得挺實用的,因此分享給大家做個參考,希望大家閱讀完這篇文章后可以有所收獲。

Django自帶的后臺管理是Django明顯特色之一,可以讓我們快速便捷管理數(shù)據(jù)。后臺管理可以在各個app的admin.py文件中進行控制。以下是我最近摸索總結(jié)出比較實用的配置。

應用注冊

若要把app應用顯示在后臺管理中,需要在admin.py中注冊。這個注冊有兩種方式,我比較喜歡用裝飾器的方式。

先看看普通注冊方法。打開admin.py文件,如下代碼:

from django.contrib import admin
from blog.models import Blog
  
#Blog模型的管理器
class BlogAdmin(admin.ModelAdmin):
    list_display=('id', 'caption', 'author', 'publish_time')
     
#在admin中注冊綁定
admin.site.register(Blog, BlogAdmin)

admin組件使用

Django 提供了基于 web 的管理工具.

Django 自動管理工具是 django.contrib 的一部分.你可以在項目的settings.py 中的 INSTALLED_APPS 看到它:

# Application definition

INSTALLED_APPS = [
    'django.contrib.admin',
    'django.contrib.auth',
    'django.contrib.contenttypes',
    'django.contrib.sessions',
    'django.contrib.messages',
    'django.contrib.staticfiles',
    "app01"
]

django.contrib 是一套龐大的功能集,它是 Django 基本代碼的組成部分.

激活管理工具

通常我們在生成項目時會在 urls.py 中自動設置好,

from django.conf.urls import urlfrom django.contrib import admin

urlpatterns = [
    url(r'^admin/', admin.site.urls),

]

當這一切都配置好后,Django 管理工具就可以運行了.

使用管理工具

啟動開發(fā)服務器,然后在瀏覽器中訪問 http://127.0.0.1:8000/admin/,得到登陸界面,你可以通過命令 python manage.py createsuperuser 來創(chuàng)建超級用戶。

為了讓 admin 界面管理某個數(shù)據(jù)模型,我們需要先注冊該數(shù)據(jù)模型到 admin

eg:

models.py

from django.db import models# Create your models here.class Author(models.Model):
    nid = models.AutoField(primary_key=True)
    name=models.CharField( max_length=32)
    age=models.IntegerField()    # 與AuthorDetail建立一對一的關(guān)系
    authorDetail=models.OneToOneField(to="AuthorDetail",on_delete=models.CASCADE)    def __str__(self):
        return self.nameclass AuthorDetail(models.Model):

    nid = models.AutoField(primary_key=True)
    birthday=models.DateField()
    telephone=models.BigIntegerField()
    addr=models.CharField( max_length=64)    def __str__(self):
        return str(self.telephone)class Publish(models.Model):
    nid = models.AutoField(primary_key=True)
    name=models.CharField( max_length=32)
    city=models.CharField( max_length=32)
    email=models.EmailField()    def __str__(self):
        return self.nameclass Book(models.Model):

    nid = models.AutoField(primary_key=True)
    title = models.CharField( max_length=32)
    publishDate=models.DateField()
    price=models.DecimalField(max_digits=5,decimal_places=2)    
    publish=models.ForeignKey(to="Publish",to_field="nid",on_delete=models.CASCADE)  
    authors=models.ManyToManyField(to='Author',)    def __str__(self):
        return self.title

admin.py

from app01.models import Book
from app01.models import Publish
from app01.models import Author
from app01.models import AuthorDetail

admin.site.register(Book)
admin.site.register(Publish)
admin.site.register(Author)
admin.site.register(AuthorDetail)

admin定制

在 admin.py 中只需要將 Mode 中的某個類注冊,即可在Admin中實現(xiàn)增刪改查的功能,如:

admin.site.register(Book)

但是,這種方式比較簡單,如果想要進行更多的定制操作,需要利用ModelAdmin進行操作,如:

# 方式一:
class BookConfig(admin.ModelAdmin):
    list_display = ["title","price","publishDate"]
admin.site.register(Book,BookConfig)  # 第一個參數(shù)可以是元祖

# 方式二:
@admin.register(Book,BookConfig)   # 第一個參數(shù)可以是元祖
class BookConfig(admin.ModelAdmin):
    list_display = ["title","price","publishDate"]

關(guān)于django-admin的使用方法是什么就分享到這里了,希望以上內(nèi)容可以對大家有一定的幫助,可以學到更多知識。如果覺得文章不錯,可以把它分享出去讓更多的人看到。

向AI問一下細節(jié)

免責聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點不代表本網(wǎng)站立場,如果涉及侵權(quán)請聯(lián)系站長郵箱:is@yisu.com進行舉報,并提供相關(guān)證據(jù),一經(jīng)查實,將立刻刪除涉嫌侵權(quán)內(nèi)容。

AI