Django Admin後臺管理功能使用(學習版)

一、前言:

在創建完Django項目後,每個app下,都會有一個urls.py文件,裏邊會有如下幾行:

from django.contrib import admin

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

]

上邊看到導入的admin模塊

二、主要功能:

  • 功能1:提供數據庫管理功能

    基於admin模塊,可以實現類似數據庫客戶端的功能,對數據進行增刪改查

  • 功能2:二次開發

  基於該模塊的數據管理功能,可以二次定製一些實用的功能。

三、使用方法:

1、步驟1:在settings.py中,INSTALLED_APPS中,加入django.contrib.admin(默認情況已經有。)

INSTALLED_APPS = [
    'django.contrib.admin',
    'django.contrib.auth',
    'django.contrib.contenttypes',
    'django.contrib.sessions',
    'django.contrib.messages',
    'django.contrib.staticfiles',
    'app01',  #自己的應用
]


2、步驟2urls.py創建admin路由(默認情況已經有)

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

3、步驟3:在settings.py配置文件中,中間件註冊(默認情況已經有)

MIDDLEWARE_CLASSES = [
    'django.middleware.security.SecurityMiddleware',
    'django.contrib.sessions.middleware.SessionMiddleware',
    'django.middleware.common.CommonMiddleware',
    #'django.middleware.csrf.CsrfViewMiddleware',
    'django.contrib.auth.middleware.AuthenticationMiddleware',
    'django.contrib.auth.middleware.SessionAuthenticationMiddleware',
    'django.contrib.messages.middleware.MessageMiddleware',
    'django.middleware.clickjacking.XFrameOptionsMiddleware',
]

4、步驟4:創建admin管理用戶

python3 manage.py createsuperuser
[root@Centos7-33 test1]# python3 manage.pycreatesuperuser
Username (leave blank to use 'root'):sunday
Email address: [email protected]
Password:
Password (again):
The password is too similar to the emailaddress.
Password:
Password (again):
Superuser created successfully.


5、步驟5:在app models.py文件中創建表信息,即表類

from django.db import models
from time import strftime
class userinfo(models.Model):
    gender_choices = (
        (0, "男"),
        (1, "女"),
    )
    nid = models.AutoField(primary_key=True)
    name = models.CharField(max_length=30, verbose_name='用戶名')
    email = models.EmailField(db_index=True,verbose_name='郵箱地址')
    memo = models.TextField(verbose_name='備註')
    img = models.ImageField(upload_to=strftime('%Y%m%d'),verbose_name='圖片路徑')
    user_type = models.ForeignKey("UserType", null=True, blank=True)
    gender = models.IntegerField(choices=gender_choices,default=0)
    def __str__(self):
        return self.name
class UserType(models.Model):
    name = models.CharField(max_length=32)
    def __str__(self):
        return self.name

6、步驟6:在app admin.py中註冊表

from django.contrib import admin
# Register yourmodels here.
from .models import userinfo,UserType
admin.site.register(userinfo)
admin.site.register(UserType)

7、步驟7:生成表結構

python3  manage.py makemigrations
python3 manage.py  makemigrations app01   #app01爲項目應用名稱
python3 manage.py migrate    #同步數據庫

注意:在數據庫表結構發生變動時,再次執行python  manage.py makemigrations就會報錯,這是因爲此時表中可能已經有數據,貌然變動表結構會有影響,此時的解決方法有兩種,一種是,設置新增字段的default='xxx'某個值,但是這種通用性不是很好。另外一種是,設置該字段null=True。即允許爲空即可

wKiom1hzb17SEbYDAALOAiYOGqI779.jpg-wh_50

8、步驟8:運行項目,登陸管理界面

python3 manage.py runserver  0.0.0.0:8000

訪問URLhttp://IP:8000/admin

 

四、最終展示頁面

wKioL1hzb5ywZX_jAAEIRzjMPeQ794.jpg-wh_50

wKiom1hzb_ywaTLYAAFKt2kQgcQ629.jpg-wh_50

wKiom1hzcC3iqgNtAALr29zNycc996.jpg-wh_50




發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章