django入门5使用xadmin搭建管理后台

环境搭建:

pip install django==1.9.8

pip install MySQL_python-1.2.5-cp27-none-win_amd64.whl

pip install future requests django-import-export six

pip install  django-simple-captcha==0.4.6

pip install pillow

pip install xadmin

然后再次 pip uninstall xadmin

把django的表都删除,重建的方法:

1.在settings.py中注释掉所有的models

2.删除所有app下的migrations目录下的001__inital.py文件

3.删除所有表,包括django自带的表

4.执行如下命令,重新生成django自带的表

(mxonline) D:\python\mxonline>python manage.py makemigrations

No changes detected

(mxonline) D:\python\mxonline>python manage.py migrate

5.打开注释,生成自定义的app相关的表

6.再次执行生成自定义表的命令

(mxonline) D:\python\mxonline>python manage.py makemigrations

(mxonline) D:\python\mxonline>python manage.py migrate

Django系统自带了admin后台,我们用createsuperuser来创建用户

密码不能太简单:

Admin

g4^w)UT3Duwj

将自定义的UserProfile继承了django的表注册到admin中

修改Users下的admin.py

from django.contrib import admin

# Register your models here.

from .models import UserProfile

class UserProfileAdmin(admin.ModelAdmin):
    pass

admin.site.register(UserProfile, UserProfileAdmin)

可以看到后台新增了用户信息模块

新增用户报错:

(1452, ‘Cannot add or update a child row: a foreign key constraint fails (`mxonline`.`django_admin_log`, CONSTRAINT `django_admin_log_user_id_c564eba6_fk_auth_user_id` FOREIGN KEY (`user_id`) REFERENCES `auth_user` (`id`))‘)

外键约束。大概意思是:插入数据的时候,外键的值不是对应的主键的值。但是这时候表里是没有数据的,所以可能有主键值;插入数据时它的根节点可能不存在,所以插入失败。建议查询“外键”相关知识。两张表不是并列关系,而是父子关系。

解决办法:

在settings.py的databases部分新增如下内容:

‘OPTIONS‘:{
        "init_command":"SET foreign_key_checks = 0;",
}

安装xadmin

(mxonline) D:\python\mxonline>pip install xadmin

将xadmin和crispy-forms注册到apps中

将默认的admin的跳转变更为xadmin

访问会报错,需要同步一下xadmin的数据表结构

[email protected] > makemigrations

[email protected] > migrate

上面是使用安装包的方式安装xadmin,下面我们使用源码包的方式进行安装xadmin,因为后面需要对源码进行修改

具体方法:到github下载xadmin的master分支

https://github.com/sshwsfc/xadmin

然后拷贝其中的xadmin目录到新建的extra_app包目录中,并把extra_app变更为sources root,然后配置settings.py加入到环境变量中

报错:ImportError: No module named future.utils

解决:

pip install future requests django-import-export six

访问日志报错:

ProgrammingError at /xadmin/xadmin/log/

(1146, "Table ‘mxonline.xadmin_log‘ doesn‘t exist")

原因分析:安装的版本和github下载版本不一致,需要重新生成表结构

[email protected] > makemigrations xadmin

[email protected] > migrate xadmin

将users这个app的邮箱验证码注册到xadmin中,xadmin会寻找每个app下面的adminx.py文件来作为model文件创建

我们直接在users这个apps下面创建文件

# _*_ coding:utf-8 _*_
# __author__ == ‘jack‘
# __date__ == ‘2019-09-19 7:58 PM‘

import xadmin

from .models import EmailVerifyRecord

class EmailVerifyRecordAdmin(object):
    pass

xadmin.site.register(EmailVerifyRecord, EmailVerifyRecordAdmin)

重新启动django就可以看到邮箱验证码注册进去了

添加新的邮箱验证码,变更显示格式在EmailVerifyRecord class中新增__unicode__

定义显示的字段

添加筛选功能

将菜单栏的英文改为中文

在应用的apps.py中添加verbose_name

在应用的__init__.py文件中添加 default_app_config

设置头部和底部显示名称

需要在app应用的adminx.py中配置,此处我们在users这个app中配置

class BaseSetting(object):
    # 开启主题功能
    enable_themes = True
    use_bootswatch = True

class GlobalSettings(object):
    # 修改页面左上角字符
    site_title = "幕学后台管理系统"
    # 底部的title修改
    site_footer = "幕学在线网"
    # 左侧菜单栏收缩
    menu_style = "accordion"
xadmin.site.register(views.BaseAdminView, BaseSetting)
xadmin.site.register(views.CommAdminView, GlobalSettings)

原文地址:https://www.cnblogs.com/reblue520/p/12048392.html

时间: 2024-07-30 08:19:09

django入门5使用xadmin搭建管理后台的相关文章

django入门8之xadmin引入富文本和excel插件

django入门8之xadmin引入富文本和excel插件 Xadmin引入富文本 插件的文档 https://xadmin.readthedocs.io/en/docs-chinese/make_plugin.html Django ueditor插件的安装 下载地址:https://github.com/zhangfisher/DjangoUeditor 进入mxonline的虚拟环境 Python setup.py install 进行安装 在settings.py中引入ueditor 在

Django里,如何更改ADMIN管理后台的显示

今天在慢慢完善管理后台的一些体验, 第一是要扩展默认显示类,就是现在弄的. 第二是要让一些显示框更自然友好,这是下一次要作的. 在各个app的admin.py里,加入相关的MIXIN类 class ServerAdmin(admin.ModelAdmin): list_display = ('name', 'ipaddress', 'server_env', 'status') search_fields = ['name'] admin.site.register(Server, Server

lareval 快速搭建管理后台

一.环境及软件 window X64 phpstudy_x64_8.1.0.1.exe 集成环境 下载地址 https://www.xp.cn/ Nginx1.15.11 MySQL5.7.26 PHP7.1.9nts composr1.9.2 下载地址 https://getcomposer.org/download/ 中国镜像 https://www.phpcomposer.com/ Git-2.25.0-64-bit 下载地址 https://git-scm.com/ github tok

Django2.1集成xadmin管理后台所遇到的错误集锦,解决填坑

django默认是有一个admin的后台管理模块,但是丑,功能也不齐全,但是大神给我们已经集成好了xadmin后台,我们拿来用即可,但是呢,django已经升级到2.1版本了,xadmin貌似跟不上节奏,那么在集成过程中咱就一步一步填坑吧,这也是一种学习的过程,遇到错误,找到错误的地方,看看django最新升级都修改了那些,去掉了那些,把相应出错的地方替换即可. xadmin源码地址:https://github.com/sshwsfc/xadmin 下载并解压: 我们用到的是xadmin文件夹

Django2.1集成xadmin管理后台所遇到的错误集锦,解决填坑(二)

django默认是有一个admin的后台管理模块,但是丑,功能也不齐全,但是大神给我们已经集成好了xadmin后台,我们拿来用即可,但是呢,django已经升级到2.1版本了,xadmin貌似跟不上节奏,那么在集成过程中咱就一步一步填坑吧,这也是一种学习的过程,遇到错误,找到错误的地方,看看django最新升级都修改了那些,去掉了那些,把相应出错的地方替换即可. xadmin源码地址:https://github.com/sshwsfc/xadmin 下载并解压: 我们用到的是xadmin文件夹

学生成绩管理后台第二项任务:初步建模,搭建一个简单的网站

负责人:程琳茹 合伙人:李玉婷 签约员工:闫玉荣 前言:学生成绩管理后台,看起来是一个简单的项目,但是对于我们今后的发展很重要,建设一个管理后台有很多方法,这里我们主要使用Rstudio,在之后的文章中,会详细给出我们小组完成项目的过程与遇到的问题,欢迎大家借鉴,此外,同学们要积极参与讨论. 项目步骤:1.熟悉与安装Rstudio,并且配置好R内部环境. 2.建立好文件所存放的位置与确保文档可以正常使用. 3.搭建一个简单的网站,分别分为server.R端口与ui.R端口. 4.搭建好网站后,插

python学习笔记--Django入门四 管理站点

上一节  Django入门三 Django 与数据库的交互:数据建模 "管理员界面"是基础功能中的重要部分.. 激活管理员界面 管理界面是 Django 中最酷的一部分.但是不是所有人都需要它,所以它是可选的.这也就意味着你需要跟着三个步骤来激活它. 在你的 models 中加入admin metadata. 不是所有的models都能够(或应该)被管理员编辑,你需要给models标记一个管理员接口(interface),通过给models添加一个内部类'admin'完成接口标记.所以

Django Admin Cookbook-17如何仅限特定用户登录Django Admin管理后台

17.如何仅限特定用户登录Django Admin管理后台? 只有勾选了is_staff=True的用户才允许登录Django Admin管理后台.要禁止用户访问Admin后台,可以应该设置该用户is_staff=False. 同样,超级管理员可以通过is_superuser=True设置.如果is_staff=False的用户尝试登录管理后台,将看到如下消息. 返回目录 原文地址:https://www.cnblogs.com/superhin/p/12174549.html

Django开发博客系统(07-根据需求定制管理后台)

运行系统尝试添加用户并添加数据,出现的效果 可以看到当前登录的用户虽然是DOCTOR,但依然可以看到其他用户的文章,而且过滤器上也展示了非当前用户创建的分类,显然这是一个需要我们解决的问题. 首先解决右侧过滤器的功能,这时需要自定义过滤器,这里贴上文档中的说明 接下来我们就来编写自定义过滤器的代码: 1 class CategoryOwnerFilter(admin.SimpleListFilter): 2 """自定义过滤器只展示当前用户分类""&quo