經過xadmin或者suit-v2快速搭建後臺管理系統

1、xadmin安裝和註冊使用

pip install xadmin#pip升級後這種安裝就報錯
python -m pip install xadmin

用第二行的安裝依舊報錯css

因而,只能百度了,依靠github上的下載包安裝html

參考解決方法:https://blog.csdn.net/qingche456/article/details/58279692python

git地址:https://github.com/sshwsfc/xadmingit

1.安裝xadmin

管理員身份進入xadmin-master所在位置程序員

python setup.py install

安裝成功github

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__文件中增長django

default_app_config = 'star.app.UsersConfig'

在model.py文件中增長引入json

from django.contrib import admin

在APP下的adminx.py中增長引入和註冊(如下爲imgs_db的APP示例)bootstrap

#-*- 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_name



class 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 = True
    use_bootswatch = True

class 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)

運行session

報錯,沒有模型‘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.0

run,能夠訪問

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 = '微讀書'

設置verbose_name和verbose_name_plural後,admin中顯示自定義的model名

經過創建模型使用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

 

 

另外一種美化思路:

2、使用suit-v2美化Django Admin(兼容Django新版本!)

安裝使用方法:https://zhuanlan.zhihu.com/p/26876869

還未實驗,看介紹不錯

 

3、django使用bootstrap快速美化 admin後臺(要求django版本小於1.9)

一、安裝應用

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/

相關文章
相關標籤/搜索