通过xadmin或者suit-v2快速搭建后台管理系统
2019獨角獸企業重金招聘Python工程師標準>>>
一、xadmin安裝和注冊使用
pip install xadmin#pip升級后這種安裝就報錯 python -m pip install xadmin用第二行的安裝依舊報錯
于是,只能百度了,依靠github上的下載包安裝
參考解決方法:https://blog.csdn.net/qingche456/article/details/58279692
git地址:https://github.com/sshwsfc/xadmin
1.安裝xadmin
管理員身份進入xadmin-master所在位置
python setup.py install安裝成功
2.將xadmin注冊到settings中
'xadmin','crispy_forms',3.修改項目的urls.py,替換默認的admin
import xadmin urlpatterns = [url(r'^xadmin/', xadmin.site.urls), ]4.設置pycharm文件模板
5.在每個app中新建adminx.py文件,在此處注冊app的model?
-
list_display 展示
-
search_fields 搜索
-
list_filter 過濾
6.添加部分接口
在項目初始化的__init.py__文件中增加
default_app_config = 'star.app.UsersConfig'在model.py文件中增加引入
from django.contrib import admin在APP下的adminx.py中增加引入和注冊(以下為imgs_db的APP示例)
#-*- coding:utf-8 -*-import xadmin from xadmin import views from xadmin.plugins.auth import UserAdmin from xadmin.layout import Fieldset, Main, Side, Row from django.utils.translation import ugettext as _from imgs_db.models import Imgs,Imgs_nameclass UserProfileAdmin(UserAdmin):def get_form_layout(self):if self.org_obj:self.form_layout = (Main(Fieldset('','username', 'password',css_class='unsort no_title'),Fieldset(_('Personal info'),Row('first_name', 'last_name'),'email'),Fieldset(_('Permissions'),'groups', 'user_permissions'),Fieldset(_('Important dates'),'last_login', 'date_joined'),),Side(Fieldset(_('Status'),'is_active', 'is_staff', 'is_superuser',),))return super(UserAdmin, self).get_form_layout()class BaseSetting(object):enable_themes = Trueuse_bootswatch = Trueclass GlobalSettings(object):site_title = "項目后臺管理系統"site_footer = "star之星"# menu_style = "accordion"class test_img_up(object):list_display = ('id','name') xadmin.site.register(Imgs_name, test_img_up)class img_up(object):list_display = ['id','img','single']filter_horizontal = ['imgs',] xadmin.site.register(Imgs, img_up)xadmin.site.register(views.BaseAdminView, BaseSetting) xadmin.site.register(views.CommAdminView, GlobalSettings)運行
報錯,沒有模型‘odf’
安裝方式有問題,依賴缺少
執行安裝:
pip install -r requirements.txt安裝成功
——————————————————————————————
如果是先升級django到2.0+版本的
還是找不到啟動程序
尋找pip.exe和python.exe所在路徑,設置到環境變量中去
C:\Program Files\Anaconda3\Scripts\pip.exe C:\Program Files\Anaconda3\python.exe這種方法依舊報錯,試著python可以運行,應該只是pip升級到10版本后就會有這種報錯
最終解決方法:到pip的安裝包目錄下刪除包文件和啟動文件,在pip官網重新下載安裝
pip地址:https://pypi.org/project/pip/#files
方法:解壓安裝文件,以管理員方式cmd到該文件夾下
python setup.py install成功安裝可執行pip操作
———————————————————————————————
報錯,網友的解決辦法是把django-formtools從1.0升級到2.0
django-formtools==2.0#txt文本里寫,然后執行安裝依賴以下為txt文本內容
django-formtools==2.0run,可以訪問
python manage.py migrate python manage.py makemigrations python manage.py migrate注意:一定要再次初始化,不然訪問報錯
頁面已經可以訪問:http://127.0.0.1:8222/xadmin/,感覺速度會變慢很多
后臺主題可以更換
之前做的app數據也有調進來,ok
7.其他-admin.py,xadmin.py的中文修改
7.1顯示中文model名稱
model.py
class BookReviewWeibo(Weibo, BookReview): class Meta:verbose_name = '微讀書'verbose_name_plural = '微讀書'通過建立模型使用Model類的內部類Meta
有兩個特殊的選項:verbose_name和verbose_name_plural。顧名思義,verbose_name為model提供了一個更容易讓人閱讀的名稱,而verbose_name_pluralze則是這個名稱的復數形式。一般情況下,我會使用一個中文的verbose_name,由于中文不區分單復數,因此通常會將同一個中文字符串賦值給verbose_name和verbose_name_plural。
————————————————————————————————————————————
但是,django2.0的部分語法有改變
原先下載的xadmin-master不能使用,請下載:
https://github.com/sshwsfc/xadmin/tree/django2
此版本適合django2
————————————————————————————————————————————
7.2 xadmin.py導出的csv(xml,excel)或者json有亂碼
主要是encode問題,需要把utf-8改成gbk
8.修改xadmin的圖標
參考文檔:https://www.cnblogs.com/adc8868/p/7506973.html
?
?
另一種美化思路:
二、使用suit-v2美化Django Admin(兼容Django新版本!)
安裝使用方法:https://zhuanlan.zhihu.com/p/26876869
還未實驗,看介紹不錯
?
三、django使用bootstrap快速美化 admin后臺(要求django版本小于1.9)
1、安裝應用
python -m pip install?django-admin-bootstrapped?安裝成功,django也被迫升級到1.11.5版本
打開以前的某個應用可能會發現報錯
第一個錯:admin.py里面
filter_horizontal = ('imgs',)應該是一個多對多的,注釋了
第二個錯:setting.py里面增加中間件單獨的類
MIDDLEWARE_CLASSES = ('django.middleware.common.CommonMiddleware','django.contrib.sessions.middleware.SessionMiddleware','django.middleware.csrf.CsrfViewMiddleware','django.contrib.auth.middleware.AuthenticationMiddleware','django.contrib.messages.middleware.MessageMiddleware',# THIS MIDDLEWARE'myapp.middleware.shortcircuit.ShortCircuitMiddleware',# SOME OTHER MIDDLE WARE YOU WANT TO SKIP SOMETIMES'myapp.middleware.package.MostOfTheTimeMiddleware',# MORE MIDDLEWARE YOU WANT TO SKIP SOMETIMES HERE )不再報錯
運行后依舊報錯ImportError: No module named 'myapp'
?
2.setting.py里面添加
INSTALLED_APPS = ('django_admin_bootstrapped','django.contrib.admin',... )注意:
?
參考文檔:
1.通過xadmin快速搭建后臺管理:https://blog.csdn.net/wwwdc1012/article/details/72814642
2.神級程序員:最火Django+最強Xadmin打造一款平臺!企業級項目:http://baijiahao.baidu.com/s?id=1589834449796360029&wfr=spider&for=pc
3.django使用bootstrap快速美化 admin后臺:https://www.cnblogs.com/hb91/p/5424290.html
?
——————————————————————————————————
其他不知為嘛報錯的:
1.run時候不保存,訪問后臺頁面就報錯,django.db.utils.ProgrammingError: (1146, "Table 'star.django_session' doesn't exist")
?
解決方法:
python manage.py migrate --fake-initial之后會增加一些表
再次訪問就可以啦!
?
參考文檔:
1.Django:如何admin管理界面中顯示中文model名稱:http://www.nanerbang.com/article/33/
轉載于:https://my.oschina.net/u/3018050/blog/1797462
總結
以上是生活随笔為你收集整理的通过xadmin或者suit-v2快速搭建后台管理系统的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: Docker技术实践——中级篇
- 下一篇: Pimple - 一个简单的 PHP 依