Django 學習 3 ADMIN站點管理

2021-07-04 04:27:37 字數 2328 閱讀 4267

站點管理:

django提供了乙個自動生成的超級管理員站點,如果你曾經注意到admin頁面,那麼就是它了。如果要去生成乙個管理員站點讓你的員工或客戶去增、刪、改站點內容是一件乏味而缺乏創造性的事情,因此,dajngo為models自動的建立了管理員介面。

django在新聞編輯部的環境中被寫出來的,對內容的提供者和公共部分有清晰地區分。站點管理者利用管理系統來增刪改內容,而內容被發布在公共站點上。django用統一的站點管理員介面來解決這個問題。

管理員頁面不應該被普通的瀏覽著使用。

1.建立管理員使用者

>>>python manage.py createsuperuser

username: admin

email address: [email protected]

password: **********

password (again): *********

superuser created successfully.

這樣就完成了乙個管理員的建立

2.在本地站點進入/admin/頁面:

站點會預設的以你使用的語言顯示內容,這和你的瀏覽器設定和settings有關

settings.py codes:

language_code = 'zh-cn'

進入站點你會看到 組(groups) & 使用者(users),他們是由django的身份驗證框架(authentication framework)提供的。

book/admin.py codes:

from django.contrib import admin

from .models import publisher,book,author

# register your models here.

admin.site.register(publisher)

admin.site.register(author)

admin.site.register(book)

這時候我們可以在目錄也看到這些物件,對他們的操作也是和資料庫實時互動的,動手去修改他們吧~。

amdin頁面提供了友好的日期(datefield)時間(datetimefield)等物件的增改介面。

定製admin介面會使得admin介面風格獨樹一幟,然而我覺得並沒有什麼卵用。

物件管理介面(objects admin pages)會根據對映到物件的表的關聯式資料庫來為你提供增刪改功能,包括外來鍵和多對多關係等等。

外來鍵會呈現為乙個單選下來列表,而多對多關係則是可多多選的下拉列表。

4.修改字段:

在管理頁面新增或修改物件是,預設的所有物件應該都是必須填寫的,對於有些可以為空的屬性,可以為屬性新增 blank 引數:

models.py codes:

class author(models.model):

def __unicode__(self):

return self.first_name+' '+self.last_name

first_name = models.charfield(max_length=30)

last_name = models.charfield(max_length=50)

email = models.emailfield(blank = true)

5.定製(customizing)管理介面:

django管理站點同樣是用django編寫,同樣的,他使用了自己的**模板。

在之前我們提到過templates的使用。在settings中我們定義了templates資料夾的路徑。管理介面的模板也會現在這個路徑中admin/templates/中尋找,否則在django/contrib/admin/templates/路徑中尋找。也就是說,此時我們並沒有定製自己的管理介面模板,那麼那就在django/contrib/admin/templates/中。

拷貝 django/contrib/admin/templates/admin/base_site.html 到 /home/mytemplates/admin/base_site.html 。

用一下python**找到路徑:

python codes:

import sys

sys.path = sys.path[1:]

import django

print(django.__path__)"

自己修改**吧~

Django學習筆記《admin》

主要內容有 自定義表單的域 polls admin.py from django.contrib import admin from models import question class questionadmin admin.modeladmin fields pub date questio...

Django筆記 admin 深入學習

django 內建的管理後台,大部分時候可以通過對admin進行配置來提高開發效率。預設情況下顯示乙個models objects的列表,如果model定義了 str 方法,則顯示其返回的內容 乙個list或者tuple,需要展示在列表頁的字段 可以自定義 定義全域性操作按鈕 def comm ac...

Django學習筆記 第六節 Django站點管理

第一步,對你的settings檔案做如下這些改變 1.將 django.contrib.admin 中的配置順序是沒有關係的,但是我們喜歡保持一定順序以方便人來閱讀 中包含 django.contrib.auth django.contrib.contenttypes 和 django.contri...