https://www.jianshu.com/p/9b3bfe934511

https://www.cnblogs.com/1Q84mi/p/xadmin002.html

https://blog.csdn.net/killersdz/article/details/89018834

https://www.cnblogs.com/aaronthon/p/9183442.html

这是因为你在编写userprofile之后才运行的migrate, 
应该在编写userprofile之前运行migratge才会生成auth_user表,
如果你直接写了userprofile的model然后运行migrate,
就会直接不生成auth_user,
你根据课程的节奏来就不会这样了,
不要随意跳过章节

settings.py

from apps import users  #users是我建立的一个app
sys.path.insert(0, os.path.join(BASE_DIR, 'apps'))
sys.path.insert(1, os.path.join(BASE_DIR, 'extra_apps')) INSTALLED_APPS = [
'xadmin',
'crispy_forms',
'users',
] #扩展usermodel
AUTH_USER_MODEL = 'users.UserProfile' #mysql
DATABASES = {
'default': {
'ENGINE': 'django.db.backends.mysql',
'NAME': 'jpdata', # 数据库
'USER': 'root', # 用户名
'PASSWORD': '', # 密码
'HOST': '127.0.0.1',
}
} #中文
LANGUAGE_CODE = 'zh-hans'
TIME_ZONE = 'Asia/Shanghai'
USE_I18N = True
USE_L10N = True
USE_TZ = False #不知道
STATIC_ROOT = os.path.join(BASE_DIR, 'static')

urls.py

 path('xadmin/', xadmin.site.urls),

adminx.py

# 样式开启和头脚设定

class BaseSetting(object):
enable_themes = True
use_bootswatch = True xadmin.site.register(views.BaseAdminView, BaseSetting)

----------------------------------------------------------------------

apps设定

1.创建一个users的app

models.py

from django.db import models
from django.contrib.auth.models import AbstractUser class UserProfile(AbstractUser):
jifen = models.fields.IntegerField(verbose_name=u"积分", default=0)
# birday = models.DateField(verbose_name=u"生日", null=True, blank=True)
# gender = models.CharField(max_length=8, choices=(("male", u"男"), ("female", u"女")), default="female")
# address = models.CharField(max_length=100, default=u"")
# mobile = models.CharField(max_length=11, null=True, blank=True)
# image = models.ImageField(upload_to="image/%Y/%m", default=u"image/default.png", max_length=100) class Meta:
verbose_name = "用户信息"
verbose_name_plural = verbose_name def __str__(self):
return self.username

adminx.py[新建]

import xadmin
from .models import UserProfile class UserProfileAdmin(object):
# def save_model
list_display = ['username', 'first_name', 'last_name', 'email', 'is_staff', 'is_active', 'date_joined',
'last_login',
'jifen']
list_filter = ['username']
# data_charts= 'drivers-license-o'
search_fields = ['id', 'username']
# model_icon = 'fa fa-user-o'
list_editable = ['jifen'] # 先注销模块,再注册
xadmin.site.unregister(UserProfile)
xadmin.site.register(UserProfile, UserProfileAdmin) # 设计左侧菜单
class GlobalSetting(object): #名称不能改
def get_site_menu(self): #名称不能改
return [
{
'title': '测试的',
'icon': 'fa fa-bar-chart-o',
'menus': (
{
'title': '测试子菜单1', #这里是你菜单的名称
'url': '/xadmin/test_view', #这里填写你将要跳转url
'icon': 'fa fa-cny' #这里是bootstrap的icon类名,要换icon只要登录bootstrap官网找到icon的对应类名换上即可
},
{
'title': '测试子菜单2',
'url': 'http://www.taobao.com',
'icon': 'fa fa-cny'
}
)
}
] site_title = "后台管理系统"
site_footer = "管理系统@admin"
menu_style = "accordion" #注册你上面填写的url
from .views import TestView #从你的app的view里引入你将要写的view,你也可以另外写一个py文件,把后台的view集中在一起方便管理
xadmin.site.register_view(r'test_view/$', TestView, name='for_test') #注册GlobalSetting
from xadmin.views import CommAdminView
xadmin.site.register(CommAdminView, GlobalSetting)

apps.py

# -*- coding: utf-8 -*-
from django.apps import AppConfig class UsersConfig(AppConfig):
name = 'users'
verbose_name = u'用户管理'

__init__.py

default_app_config = "users.apps.UsersConfig"

views.py

from django.shortcuts import render

# Create your views here.
from xadmin.views import CommAdminView class TestView(CommAdminView):
def get(self, request):
context = super().get_context() # 这一步是关键,必须super一下继承CommAdminView里面的context,不然侧栏没有对应数据,我在这里卡了好久
title = "测试子菜单123" # 定义面包屑变量
context["breadcrumbs"].append({'url': '/cwyadmin/', 'title': title}) # 把面包屑变量添加到context里面
context["title"] = title # 把面包屑变量添加到context里面 # 下面你可以接着写你自己的东西了,写完记得添加到context里面就可以了
#.........
return render(request, 'users/../../templates/users/test.html', context) # 最后指定自定义的template模板,并返回context

大体结构

django版本2.2.1

 ordering = ['-click_nums']  # 进入xadmin页面将某个字段倒序排列
readonly_fields = ['click_nums'] # 将某个字段以只读形式
exclude = ['fav_nums'] # 不显示某个字段

django实战总结2的更多相关文章

  1. 从零开始部署Django生产环境(适用:《跟老齐学Python Django实战》)

    <跟老齐学Python Django实战>作为市面上少有的Django通俗实战书籍,给了我学习Django很大的帮助.作为一名新入门的菜鸟,全书我重复练习了至少三遍,每次都有新的收获. 前 ...

  2. django 实战 - eLeave Form

    需求: 实现请假单的电子审批 1. 支持国际化 2. 支持模型级别的访问记录 here we go: 这里会写一系列的文章,来记录我实战的过程,由于接触django没多久,难免有疏漏之处,望拍砖不要太 ...

  3. Django实战(一)-----用户登录与注册系统6(session会话、注册视图)

    因为因特网HTTP协议的特性,每一次来自于用户浏览器的请求(request)都是无状态的.独立的. 通俗地说,就是无法保存用户状态,后台服务器根本就不知道当前请求和以前及以后请求是否来自同一用户.对于 ...

  4. Django实战(一)-----用户登录与注册系统3(前端页面、登录视图)

    基本框架搭建好了后,我们就要开始丰富页面内容了.最起码,得有一个用户登录的表单不是么?(注册的事情我们先放一边.) 一. 原生HTML页面 删除原来的login.html文件中的内容,写入下面的代码: ...

  5. Django实战(二)之模板语言

    该实战教程基于菜鸟教程,菜鸟教程可参考:http://www.runoob.com/django/django-template.html 模板语法,每个框架都有其支持的模板语法,Django的模板语 ...

  6. 5、Django实战第5天:首页和登录页面的配置

    从这天开始我们需要用到前端源码,需要的朋友可以进行小额打赏(15元),打赏二维码在博客的右侧,打赏后可以凭截图联系463951510@qq.com,博主收到邮件后会立即回复发送所有源码素材,实战过程中 ...

  7. python框架Django实战商城项目之工程搭建

    项目说明 该电商项目类似于京东商城,主要模块有验证.用户.第三方登录.首页广告.商品.购物车.订单.支付以及后台管理系统. 项目开发模式采用前后端不分离的模式,为了提高搜索引擎排名,页面整体刷新采用j ...

  8. python框架Django实战商城项目之用户模块创建

    创建用户APP 整个项目会存在多个应用,需要存放在一个单独的文件包了,所以新建一个apps目录,管理所有子应用. 在apps包目录下穿件users应用 python ../../manage.py s ...

  9. django实战商城项目注册业务实现

    设计到的前端知识 项目的前端页面使用vue来实现局部刷新,通过数据的双向绑定实现与用户的交互,下面来看一下需求,在用户输入内容后,前端需要做一些简单的规则校验,我们希望在在用户输入后能够实时检测,如果 ...

  10. Django 实战 之 搭项目(正在更新)

    系统:win10 python版本:python 3.5 工具: pyCharm 3.4 professional 源码来源:https://github.com/ouzhigang/django-o ...

随机推荐

  1. 如何设置CentOS 7获取动态IP和静态IP

    自动获取动态IP地址 1.输入“ip addr”并按回车键确定,发现无法获取IP(CentOS 7默认没有ifconfig命令),记录下网卡名称(本例中为ens33). 2.输入“cd /etc/sy ...

  2. DevExpress GridControl 使用瀑布加载方式加载数据

    从事winform开发已经快三年了,这三年中两年使用DevExpress控件进行winform系统开发,对Dev控件有自己的一些思考,下面就常用的表格控件GridControl的分页进行一些讨论. 在 ...

  3. 移动端videojs视频插件使用直播流rtmp、hls、http-flv的注意事项

    可以访问:https://videojs.com/ 下载对应的脚本包 特别注意的是 移动端videojs一般应用的直播流协议为HLS, RTMP协议一般是PC上使用,需要flash支持. HLS直播源 ...

  4. cocoapods安装错误的原因

    gem 可以理解为管理RUBY库和程序包的查找,安装,升级和卸载是个非常好用的工具. gem install cocoapods过程中出现错误的问题.1.gem的源设置错误应该参照,下面来执行gem ...

  5. React vs Angular vs Vue 2019

    React vs Angular vs Vue 看待这三个主流框架给出的想法 Angular is the entire kitchen that gives you all the tools ne ...

  6. 【angularJS】学习笔记

    一.一个html中多个ng-app //对于ng-app初始化一个AngularJS程序属性的使用需要注意,在一个页面中AngularJS自动加载第一个ng-app,其他ng-app会忽略 //如果需 ...

  7. PWM控制灯亮暗的verilog实现

    PWM的全称为Pulse-Width Modulation(脉冲宽度调制),即调节脉冲的占空比.当输出的脉冲频率一定时,输出的脉冲占空比越大,相当于输出的有效电平越大,这样也就简单实现了由FPGA来控 ...

  8. noi.ac #38 线段树+时间复杂度分析

    \(des\) 存在参数数组 \(a\),\(a\) 升序排列 \[a_1 < a_2 < \cdots < a_m, m <= 10\] 存在长度为 \(n\) 价值数组 \ ...

  9. SSM 整合 ehcache 报错

    异常: org.springframework.beans.factory.CannotLoadBeanClassException: Cannot find class [org.springfra ...

  10. 模板 - 数学 - 数论 - Miller-Rabin算法

    使用Fermat小定理(Fermat's little theorem)的原理进行测试,不满足 \(2^{n-1}\;\mod\;n\;=\;1\) 的n一定不是质数:如果满足的话则多半是质数,满足上 ...