python3.4下django集成使用xadmin后台的方法

yipeiwu_com5年前Python基础

环境:window7 x64、python3.4、django1.10

一、pip install xadmin安装报错

1、使用pip install xadmin命令安装可能报如下错误:

2、解决方案

亲测使用

pip install git+git://github.com/sshwsfc/xadmin.git

命令可以正常使用。

二、django项目中配置xadmin

settings.py配置

INSTALLED_APPS = [

  'django.contrib.admin',

  'django.contrib.auth',

  'django.contrib.contenttypes',

  'django.contrib.sessions',

  'django.contrib.messages',

  'django.contrib.staticfiles',

  'app.apps.AppConfig',

  'xadmin',

  'crispy_forms',

] 

urls.py配置

urlpatterns = [

  # url(r'^admin/', admin.site.urls),

  url(r'^xadmin/', xadmin.site.urls),

] 

在blog/目录下创建adminx.py,增加如下内容:

from .models import Permission,Article,Category, ArticleComment, Type, Notice,EmailVerifyRecord

import xadmin

import xadmin.views as xviews

 

class BaseSetting(object):

  enable_themes = True

  use_bootswatch = True

xadmin.site.register(xviews.BaseAdminView, BaseSetting)

 

class AdminSettings(object):

  # 设置base_site.html的Title

  site_title = '管理后台'

  # 设置base_site.html的Footer

  site_footer = '2017 Admin'

  menu_style = 'default'

 

  # 菜单设置

  def get_site_menu(self):

    return (

      {'title': '文章管理', 'perm': self.get_model_perm(Article, 'change'), 'menus': (

        {'title': '文章', 'icon': 'fa fa-vimeo-square'

          , 'url': self.get_model_url(Article, 'changelist')},

        {'title': '考试类别', 'icon': 'fa fa-vimeo-square'

          , 'url': self.get_model_url(Category, 'changelist')},

        {'title': '文章类别', 'icon': 'fa fa-vimeo-square'

          , 'url': self.get_model_url(Type, 'changelist')},

        {'title': '文章评论', 'icon': 'fa fa-vimeo-square'

          , 'url': self.get_model_url(ArticleComment, 'changelist')},

      )},

    )

xadmin.site.register(xviews.CommAdminView, AdminSettings) 

注意配置完了之后别忘了运行: python3 manage.py makemigrations、python3 manage.py migrate

至此,基本配置完成,可以访问http://localhost:8000/xadmin正常使用了。

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持【听图阁-专注于Python设计】。

相关文章

实例讲解python中的序列化知识点

在程序运行的过程中,所有的变量都是在内存中,比如,定义一个dict: d = dict(name='Bob', age=20, score=88) 可以随时修改变量,比如把name...

pyqt5 键盘监听按下enter 就登陆的实例

记得导入包,其他按键可类比 def keyPressEvent(self, event): if event.key() == QtCore.Qt.Key_Enter:...

浅析Python+OpenCV使用摄像头追踪人脸面部血液变化实现脉搏评估

浅析Python+OpenCV使用摄像头追踪人脸面部血液变化实现脉搏评估

使用摄像头追踪人脸由于血液流动引起的面部色素的微小变化实现实时脉搏评估。 效果如下(演示视频):  由于这是通过比较面部色素的变化评估脉搏所以光线、人体移动、不同角度、不同...

Python处理菜单消息操作示例【基于win32ui模块】

Python处理菜单消息操作示例【基于win32ui模块】

本文实例讲述了Python处理菜单消息操作。分享给大家供大家参考,具体如下: 一、代码 # -*- coding:utf-8 -*- #! python3 import win32u...

Python实现遍历数据库并获取key的值

遍历Redis数据库中有以格式为PREFIX_*的按照key-value方式存储的key,并打印其值. 遍历使用SCAN,因为KEYS PREFIX_*可能会造成Redis长时间阻塞。...