您好,登錄后才能下訂單哦!
這篇文章給大家分享的是有關django管理admin用戶的方法的內容。小編覺得挺實用的,因此分享給大家做個參考。一起跟隨小編過來看看吧。
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 管理工具就可以運行了.
使用管理工具
啟動開發服務器,然后在瀏覽器中訪問 http://127.0.0.1:8000/admin/,得到登陸界面,你可以通過命令 python manage.py createsuperuser 來創建超級用戶。
為了讓 admin 界面管理某個數據模型,我們需要先注冊該數據模型到 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建立一對一的關系 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中實現增刪改查的功能,如:
admin.site.register(Book)
但是,這種方式比較簡單,如果想要進行更多的定制操作,需要利用ModelAdmin進行操作,如:
# 方式一: class BookConfig(admin.ModelAdmin): list_display = ["title","price","publishDate"] admin.site.register(Book,BookConfig) # 第一個參數可以是元祖 # 方式二: @admin.register(Book,BookConfig) # 第一個參數可以是元祖 class BookConfig(admin.ModelAdmin): list_display = ["title","price","publishDate"]
感謝各位的閱讀!關于django管理admin用戶的方法就分享到這里了,希望以上內容可以對大家有一定的幫助,讓大家可以學到更多知識。如果覺得文章不錯,可以把它分享出去讓更多的人看到吧!
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。