业务背景: 最近在写一个个人博客网站,文章分类是一个自关联的两层分类.希望在点开分类时,显示一级分类.一级分类下的所有二级分类以及每个二级分类有多少个文章.最简单办法就是关联查询,查询出所有二级分类,再根据二级分类去查询二级分类的文章的个数.但是一想点一下分类就进行N次的关联查询,即使采用缓存,频繁增加删除文章情况下,数据库和redis都别活了.... 于是用空间换时间的方法,在文章分类表里加个count字段保存该分类文章个数.对count的修改想到django中自定义管理器类的save mod…
import datetime import logger from django.conf import settings from django.db.models import Q from django.core.management.base import BaseCommand from xxx.models import User from xxx.tools import message_client MSEEAGE = u"Hello %s , Welcome to XXX.&…
修改polls/admin.py: from django.contrib import admin from .models import Choice, Question class ChoiceInline(admin.TabularInline): model = Choice extra = 3 class QuestionAdmin(admin.ModelAdmin): fieldsets = [ (None, {'fields': ['question_text']}), ('Da…
使用django+x-admin管理后台模板搭建管理后台 一.环境需求 1.django:3.1 2.python:3.7 3.x-admin:2.2 4.pycharm:2020.3.2 5.ubuntu:20.0.4 6.mysql:8.0 二.功能需求 1.要使用django提供的auth类完成自定义user用户.group组.permission权限,进行用户管理. 2.要使用django提供的login和logout类完成登录与登出验证. 3.要配置路由和相关类完成django自定义管…
django中怎么使用自定义管理后台xadmin 2018年05月19日 15:48:08 LH_python 阅读数:1001   首先创建基本的django项目,配置好基本的model ,url,views文件 xadmin是基于Django的admin开发的更完善的后台管理系统,页面基于Bootstrap3开发的 xadmin的安装,下载地址https://github.com/sshwsfc/xadmin 下载后解压,进入文件夹内部,按shift+右键,选择在此处打开命令行窗口 进入虚拟…
在Django开发过程中我们都用过django-admin.py和manage.py命令. django-admin.py是一个命令行工具,可以执行一些管理任务,比如创建Django项目.而manage.py是在创建每个Django project时自动添加在项目目录下的,只是对manage.py的一个简单包装,其功能是将Django project放到sys.path目录中,同时设置DJANGO_SETTINGS_MODULE环境变量为当前project的setting.py文件. Djang…
后台管理 第1步.本地化:设置语言.时区 修改project1/settings.py #LANGUAGE_CODE = 'en-us' LANGUAGE_CODE = 'zh-hans' #设置语言为中文 # TIME_ZONE = 'UTC' TIME_ZONE = 'Asia/Shanghai' #设置为中国时区 第2步,创建管理员 项目下打开cmd输入命令:python manage.py createsuperuser 实操: >>> quit() #退出shell环境 D:\…
我们可以通过manage.py编写和注册自定义的命令. 自定义的管理命令对于独立脚本非常有用,特别是那些使用Linux的crontab服务,或者Windows的调度任务执行的脚本.比如,你有个需求,需要定时清空某篇文章下面的评论,一种解决方案就是写一个django-admin命令,再写一个运行该命令的独立脚本,最后通过crontab服务,定时执行该脚本. 下面,我们将为教程最开始的第一个Django应用中的polls应用编写一个自定义的closepoll命令. 一.创建management/co…
我们都用过Django的manage.py的命令,而manage.py是在我们创建Django项目的时候就自动生成在根目录下的一个命令行工具,它可以执行一些简单的命令,其功能是将Django project放到sys.path目录中,同时设置DJANGO_SETTINGS_MODULE环境变量为当前project的setting.py文件.我们来看一下代码: #!/usr/bin/env python import os import sys if __name__ == "__main__&q…
转载自:https://www.cnblogs.com/sui776265233/p/11571418.html 1.自定义管理器(Manager) 在语句Book.objects.all()中,objects是一个特殊的属性,通过它来查询数据库,它就是模型的一个Manager.每个Django模型至少有一个manager,你可以创建自定义manager以定制数据库的访问.这里有两个方法创建自定义manager:添加额外的manager;修改manager返回的初始Queryset. 添加额外的…