经过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/

相关文章
相关标签/搜索