Django打造在線教育平台_day_3: 搭建后台管理系統Xadmin


xadmin是比Django自帶的admin更加強大的系統

1、安裝xadmin的兩種方式:

  方式一:pip install xadmin

  方式二:github下載最新的源碼(推薦,因為功能最新)

2、方式一安裝:虛擬環境下

pip install xadmin

python3的環境安裝xadmin時,直接pip install xadmin出現

README.rst這個文件的編碼有問題,可以內容沒什么重要的,可以直接到github上下載安裝包,然后新建一個txt空文件,把文件名改成README.rst,替換原來的文件 

https://github.com/sshwsfc/xadmin,替換成功后,把壓縮包放到一個文件夾中,在命令窗口中進入存放壓縮包的文件下,執行pip命令 。

3、在settings.py和urls.py中配置

#settings.py
INSTALLED_APPS = [
    'django.contrib.admin',
    'django.contrib.auth',
    'django.contrib.contenttypes',
    'django.contrib.sessions',
    'django.contrib.messages',
    'django.contrib.staticfiles',
    'users',  # 注冊App
    'operation',
    'courses',
    'organization',
    # 添加以下兩個app配置
    'xadmin',
    'crispy_forms',
]

---------------------------------
#urls.py
from django.conf.urls import url
from django.contrib import admin
import xadmin

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

4、刪除users/admin.py中的代碼,Tools 工具欄運行 run manage.py Task再更新數據表,輸入:(完成后數據庫會有xadmin開頭的表)

makemigrations
migrate

5、重起系統:

方式二安裝:https://github.com/sshwsfc/xadmin下載源碼,解壓把xadmin文件復制到項目的根中新建的extra_apps文件中

1、在setting.py中設置一下路徑:

sys.path.insert(0, os.path.join(BASE_DIR, 'extra_apps'))

2、把EmailVerifyRecord注冊到xadmin后台管理系統: 

# 在apps\users中創建一個adminx.py文件
import xadmin
from .models import EmailVerifyRecord
class EmailVerifyRecordAdmin(object):
  list_display=['code','email','send_type','send_time']  #控制顯示列數  
  search_fields=list_display=['code','email','send_type'] #控制搜索框的顯示
    list_filter = ['code','email','send_type','send_time'] #控制篩選
 xadmin.site.register(EmailVerifyRecord, EmailVerifyRecordAdmin)    

list_display=['code','email','send_type','send_time']作用是

 

 search_fields=list_display=['code','email','send_type']作用是

 

 list_filter = ['code','email','send_type','send_time'] 篩選作用

 3、在users/models.py中重載EmailVerifyRecord類型的__str__方法

    def __str__(self):
        return '{0}({1})'.format(self.code, self.email)
 
        

 同理注冊Banner

class BannerAdmin(object):
    list_display = ['title', 'image', 'url', 'index','add_time']  # 列表顯示
    search_fields = ['title', 'image', 'url', 'index']  # 搜索
    list_filter = ['title', 'image', 'url', 'index','add_time']  # 篩選
xadmin.site.register(Banner, BannerAdmin)

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM