6-django——admin站點管理

概述

負責添加、修改、刪除內容,開發這些重複的功能是一件沒有創造力的事情。所以Django會根據定義的模型自動生成管理模塊python

配置Admin應用

在settings.py文件中的INSTALL_APPS中添加'django.contrib.admin'git

默認已經配置github

建立管理員用戶

python manage.py createsuperuserajax

按提示依次輸入用戶名、郵箱、密碼數據庫

登陸

瀏覽器中輸入 127.0.0.1:8000/admindjango

漢化

修改settins.py文件中的配置:segmentfault

LANGUAGE_CODE = 'zh-Hans'瀏覽器

TIME_ZONE = 'Asia/Shanghai'ssh

管理數據表

引用目錄下的admin.py文件中註冊模型編碼

from django.contrib import admin

# Register your models here.
from myApp.models import Grade, Student
admin.site.register(Grade)
admin.site.register(Student)

自定義管理界面

ModelAdmin類是模型在Admin界面中的表現形式,經過定義ModelAdmin的子類,來定義模型在Admin界面的顯示方式

屬性說明

clipboard.png

關聯對象

在添加班級時能夠直接添加幾個學生

class StudentInline(admin.TabularInline):
    model = Student
    extra = 2  # 能夠添加2個學生
    
    
class GradeAdmin(admin.ModelAdmin):
    inlines = [StudentInline]
    list_display = ['pk', 'name', 'boyNum', 'girlNum', 'isDelete']

admin.site.register(Grade, GradeAdmin)

布爾值的顯示問題

class StudentAdmin(admin.ModelAdmin):
    def sex(self):
        if self.sex:
            return '男'
        else:
            return '女'

    sex.short_description = '性別'

    def content(self):
        return self.content

    content.short_description = '內容'

    # 列表頁屬性
    list_display = ['pk', 'name', 'age', sex, content,
                    'grade', 'isDelete']

執行動做的位置

class StudentAdmin(admin.ModelAdmin):
    actions_on_bottom = True
    actions_on_top = True

clipboard.png

使用裝飾器註冊

@admin.register(Student)
class StudentAdmin(admin.ModelAdmin):
    actions_on_bottom = True
    actions_on_top = True
    def sex(self):
        if self.sex:
            return '男'
        else:
            return '女'

    sex.short_description = '性別'

    def content(self):
        return self.content

    content.short_description = '內容'

    # 列表頁屬性
    list_display = ['pk', 'name', 'age', sex, content,
                    'grade', 'isDelete']

    list_filter = ['grade']
    search_fields = ['content']
    list_per_page = 15
    # 添加,修改頁屬性
    # fields = ['name','age','sex','content','grade', 'isDelete']
    fieldsets = [
        ('base', {'fields': ['name', 'age', 'grade']}),
        ('more', {'fields': ['sex', 'content', 'grade', 'isDelete']}),
    ]

# admin.site.register(Student, StudentAdmin)

Xadmin自學

安裝

https://github.com/sshwsfc/xa...

GitHub上下載 xadmin安裝包,因爲安裝會報錯,編碼問題,須要修改壓縮包中的一個文件,將壓縮包中的README.rst 替換爲本身新建的一樣名字的空文件。 而後cmd進入該目錄 執行安裝

pip install xadmin-master.zip

配置

settings.py

INSTALLED_APPS = [
    'xadmin',
    'crispy_forms',
    'reversion',
]

主路由urls.py

import xadmin
xadmin.autodiscover()

# version模塊自動註冊須要版本控制的 Model
from xadmin.plugins import xversion
xversion.register_models()
urlpatterns = [
    url(r'xadmin/', include(xadmin.site.urls)),
]

若是出現no such table 是因爲數據庫中沒有xadmin的表的問題,能夠刪除數據庫,執行遷移。。

7-django——文件上傳_分頁_ajax_富文本_celery

相關文章
相關標籤/搜索