Django自帶後臺admin的使用配置
Django自帶後臺使用配置
參考官網地址:https://docs.djangoproject.com/en/1.11/ref/contrib/admin/ ,本文章值是介紹簡單配置,如果需要詳細內容可以查閱官方文件
用過Django框架的童鞋肯定都知道,在建立完Django專案後,每個app下,都會有一個urls.py檔案,裡邊會有如下幾行:
from
django.contrib
import
admin
urlpatterns
=
[
url(r
'^admin/'
, admin.site.urls),
]
上邊看到匯入的admin模組,就是本節所要說的主要內容
主要功能
功能1:提供資料庫管理功能
基於admin模組,可以實現類似資料庫客戶端的功能,對資料進行增刪改查
功能2:二次開發
基於該模組的資料管理功能,可以二次定製一些實用的功能。
自動管理介面是Django最強大部分之一。
它從你的模型中 讀取元資料,以提供一個快速,以模型為中心的介面,讓受信任的使用者可以管理您的網站上的內容。
管理員建議的使用權限於組織的內部管理工具
它並不打算構建你的整個前端。
1.建立一個管理員賬戶:專案建立好後臺輸入 127.0.0.1:8000/admin/ 會出現登入介面
在manage.py同級目錄,
命令列輸入 python manage.py createsuperuser
需要新增使用者名稱郵箱和密碼
model模型 model.py, 生成遷移檔案, 進行資料遷移.python3 manage.py makemigrations && python3 manage.py migrate生成表結構.
from django.db import models
# Create your models here.
class Users(models.Model):
# sid = models.AutoField(primary_key=True)
name = models.CharField(max_length=50,null=True)
age = models.IntegerField(null=True)
email = models.CharField(max_length=30)
password = models.CharField(max_length=32,null=True)
addtime = models.DateTimeField(auto_now=True,null=True)
# class Meta:
# db_table = "myhome_users"
def __str__(self):
return self.name
2.進入應用的admin.py檔案,新增模型
from django.contrib import admin
from . import models
# Register your models here.
admin.site.register(models.Users)
3.執行會發現所有使用者都是 類名 object
**進入model.py,給模型新增 __str__方法**
def __str__(self):
return self.name(欄位名)
4.後臺其他設定,繼續修改admin.py檔案
最終修改成下面
from django.contrib import admin
from . import models
# Register your models here.
class UsersAdmin(admin.ModelAdmin):
# 要展示的欄位
list_display = ('id','name','age','email','password','addtime')
# 每一頁顯示多少條資料,預設是100條
list_per_page = 5
# 設定預設排序欄位,負號表示降序排序
ordering = ('id','age')
# 設定可編輯的欄位
list_editable = ['name','age']
# 過濾器
list_filter = ('name','age')
# 搜尋欄位
search_fields = ('name','age')
# 時間分層篩選
date_hierarchy = 'addtime'
admin.site.register(models.Users,UsersAdmin)
最後注意如果資料庫有時間相關資訊,或者最好直接把settings.py配置的時間設定成本地時間,修改內容如下
LANGUAGE_CODE = 'zh-Hans' # 後臺預設是英文 修改成中文
TIME_ZONE = 'Asia/Shanghai' # 設定時區
USE_I18N = True
USE_L10N = True
USE_TZ = False # 設定本地時間必須改成False不然會報錯...
摘詞 : Everthing isn't getting along well,your efforts paid off!