首页 > 其他分享 >基于IMOOC强力django+杀手级xadmin 打造上线标准的在线教育平台课程的学习(13)——xadmin介绍

基于IMOOC强力django+杀手级xadmin 打造上线标准的在线教育平台课程的学习(13)——xadmin介绍

时间:2023-06-06 20:01:46浏览次数:35  
标签:13 xadmin auth django contrib path os


xadmin的安装方法

基于IMOOC强力django+杀手级xadmin 打造上线标准的在线教育平台课程的学习(13)——xadmin介绍_搜索

settings.py 的配置

# -*- coding:utf-8 -*-
import os
import sys

import pymysql
pymysql.install_as_MySQLdb()

# Build paths inside the project like this: os.path.join(BASE_DIR, ...)
BASE_DIR = os.path.dirname(os.path.dirname(os.path.abspath(__file__)))

# 设置 apps 目录
sys.path.insert(0, os.path.join(BASE_DIR, 'apps'))
sys.path.insert(0, os.path.join(BASE_DIR, 'extra_apps'))


STATIC_DIR = os.path.join(BASE_DIR, 'static')

# Quick-start development settings - unsuitable for production
# See https://docs.djangoproject.com/en/1.10/howto/deployment/checklist/

# SECURITY WARNING: keep the secret key used in production secret!
SECRET_KEY = 's81lk8rsu_5%hzqlh=$aa$tldf=v+7zhvu0r_inqm_82rqhs^w'

# SECURITY WARNING: don't run with debug turned on in production!
DEBUG = True

ALLOWED_HOSTS = []


# Application definition

INSTALLED_APPS = [
    'django.contrib.admin',
    'django.contrib.auth',
    'django.contrib.contenttypes',
    'django.contrib.sessions',
    'django.contrib.messages',
    'django.contrib.staticfiles',
    'users',
    'courses',
    'organization',
    'operation',
    'xadmin',
    'crispy_forms',
]

AUTH_USER_MODEL = "users.UserProfile"

MIDDLEWARE = [
    'django.middleware.security.SecurityMiddleware',
    'django.contrib.sessions.middleware.SessionMiddleware',
    'django.middleware.common.CommonMiddleware',
    'django.middleware.csrf.CsrfViewMiddleware',
    'django.contrib.auth.middleware.AuthenticationMiddleware',
    'django.contrib.messages.middleware.MessageMiddleware',
    'django.middleware.clickjacking.XFrameOptionsMiddleware',
]

ROOT_URLCONF = 'MxOnline.urls'

TEMPLATES = [
    {
        'BACKEND': 'django.template.backends.django.DjangoTemplates',
        'DIRS': [os.path.join(BASE_DIR, 'templates')]
        ,
        'APP_DIRS': True,
        'OPTIONS': {
            'context_processors': [
                'django.template.context_processors.debug',
                'django.template.context_processors.request',
                'django.contrib.auth.context_processors.auth',
                'django.contrib.messages.context_processors.messages',
            ],
        },
    },
]

WSGI_APPLICATION = 'MxOnline.wsgi.application'


# Database
# https://docs.djangoproject.com/en/1.10/ref/settings/#databases

DATABASES = {
    'default': {
        'ENGINE': 'django.db.backends.mysql',
        'NAME': 'mxonline',
        'USER': 'root',
        'PASSWORD': 'roottest',
        'HOST': '127.0.0.1',
    }
}


# Password validation
# https://docs.djangoproject.com/en/1.10/ref/settings/#auth-password-validators

AUTH_PASSWORD_VALIDATORS = [
    {
        'NAME': 'django.contrib.auth.password_validation.UserAttributeSimilarityValidator',
    },
    {
        'NAME': 'django.contrib.auth.password_validation.MinimumLengthValidator',
    },
    {
        'NAME': 'django.contrib.auth.password_validation.CommonPasswordValidator',
    },
    {
        'NAME': 'django.contrib.auth.password_validation.NumericPasswordValidator',
    },
]


# Internationalization
# https://docs.djangoproject.com/en/1.10/topics/i18n/

LANGUAGE_CODE = 'zh-hans'

TIME_ZONE = 'Asia/Shanghai'

USE_I18N = True

USE_L10N = True

USE_TZ = False


# Static files (CSS, JavaScript, Images)
# https://docs.djangoproject.com/en/1.10/howto/static-files/

STATIC_URL = '/static/'
STATICFILES_DIRS = [
    STATIC_DIR,
]

users App 下的 adminx.py 的配置:

import xadmin

from .models import EmailVerifyRecord, Banner, UserProfile


class UserProfileAdmin(object):
    pass


# class EmailVerifyRecordAdmin(object):
#
#     list_display = ['code','email','send_type','send_time']  #后台自定义显示列
#     search_fields = ['code','email','send_type'] #定义后台搜索
#     list_filter = ['code','email','send_type','send_time'] #通过时间搜索
#
#
# class BannerAdmin(object):
#     list_display = ['title', 'image', 'url', 'index', 'add_time'] #后台自定义显示列 显示字段
#     search_fields = ['title', 'image', 'url', 'index'] #定义后台搜索 搜索功能
#     list_filter = ['title', 'image', 'url', 'index', 'add_time'] #过滤器 通过时间搜索

xadmin.site.register(UserProfile, UserProfileAdmin)
# xadmin.site.register(EmailVerifyRecord, EmailVerifyRecordAdmin)
# xadmin.site.register(Banner, BannerAdmin)

基于IMOOC强力django+杀手级xadmin 打造上线标准的在线教育平台课程的学习(13)——xadmin介绍_django_02


标签:13,xadmin,auth,django,contrib,path,os
From: https://blog.51cto.com/u_16152603/6427445

相关文章

  • 基于IMOOC强力django+杀手级xadmin 打造上线标准的在线教育平台课程的学习(16)——首页
    index.html<!DOCTYPEhtml><html><head><metacharset="UTF-8"><metaname="renderer"content="webkit"><metahttp-equiv="X-UA-Compatible"content="IE=Edge,chrome=1&......
  • 2023冲刺国赛模拟 13.1
    T1铲雪通过打表可以发现\(2^{23}\equiv2^{47}\pmod{998244352}\),因此对于前\(22\)次平方操作,直接暴力修改即可,超出\(22\)的平方操作,对每个位置维护长度为\(24\)的平方数组,那么每次操作就是简单的数组循环移动,线段树维护即可。code#include<cstdio>#include<algor......
  • 深入Exchange2013: 邮件限制(Qos)
     这一章咱们来讲讲Exchange中对邮件的QOS设置,这些设置平常也许大多数场景中不会涉及到,因为需要大批量发送邮件的场景里都会用到邮件中间件(发送大量宣传邮件或者报表)。但是一旦让咱们碰上了,咱们也得知道从哪下手去调整这些设置不是,关于这个话题Technet上已经写得非常好了,咱这里也......
  • django
     简述http协议及常用请求头。HTTP(HypertextTransferProtocol)是一种用于传输超文本的应用层协议。它是构建在TCP/IP协议之上的,用于在客户端和服务器之间传输数据。HTTP协议使用简单、灵活的请求-响应模型,是现代互联网的基础。​HTTP协议的特点:​无连接:每个请求和响应都是独......
  • Python Django Xadmin 的使用
    笔者Python版本为3.10.6,Django版本为4.2.2本项目代码已开源,可到GitHub仓库中查看本项目用到的xadmin、DjangoUeditor文件夹笔者已经按照Python3.10版本进行了修改,点击链接即可下载。但如果你使用的Python版本较低,可能会因此出现一些BUG,请到问题汇总查看,如果......
  • 软件测试day13
    HTTP状态码 ......
  • Django修改数据库时出错 django.db.utils.OperationalError: (1091, "Can't DROP 'con
    记录下简单的处理方法:报错信息:django.db.utils.OperationalError:(1091,"Can'tDROP'content';checkthatcolumn/keyexists")可能数据库中的字段结构已经完成了此字段的修改但是在  pythonmanage.pymakemigrations新生成的migrations/0002_auto_20191011_2104.py......
  • HONEYWELL工业模块SPS5713 51199930-100
    W;① ⑧ 0 ③ 0 ① 7  7  ⑦ 5 ⑨HONEYWELL工业模块SPS571351199930-100,05074-A-012205704-A-012105704-A-0131,05701-A-0361,05704-A-0146,05704-A-0145,05701-A-0361,05704-A-0144。SC-PCMX0151307195-175,05701-A-0550,一般信息产品编号:SYN5201-2277......
  • 算法学习day46动态规划part08-139
    packageLeetCode.DPpart08;importjava.util.HashSet;importjava.util.List;/***139.单词拆分*给你一个字符串s和一个字符串列表wordDict作为字典。请你判断是否可以利用字典中出现的单词拼接出s。*注意:不要求字典中出现的单词全部都使用,并且字典中的单词......
  • 算法学习day48动态规划part09-377、213、198
    packageLeetCode.DPpart09;/***377.组合总和Ⅳ*给你一个由不同整数组成的数组nums,和一个目标整数target。请你从nums中找出并返回总和为target的元素组合的个数。*题目数据保证答案符合32位整数范围。*示例:*输入:nums=[1,2,3],target=4*输......