在 user_manager 项目下创建一个 python package:utils,里面创建一个 page.py 文件 page.py 文件内容为: # 创建一个 PagerHelper 类 class PagerHelper: # 创建对象需要至少传入3个参数 def __init__(self, total_count, current_page, base_url, per_page=10): self.total_count = total_count self.current_pa…
在上一篇中(Django 练习班级管理系统一 https://www.cnblogs.com/klvchen/p/11078174.html),使用的是莫泰对话框的方式提交数据,适用于数据量少的操作.若业务需要数据多,数据量大的操作,可以使用单独页面进行添加,下面是具体例子: 在 classes.html 页面下修改 a 标签: <h1>班级管理</h1> <div> <input id="id_add" type="button&q…
修改 views.py @auth def edit_teacher(request, nid): if request.method == "GET": obj = models.Teacher.objects.get(id=nid) # 执行后返回元组,每个元组包含传递给values_list() 调用的字段的值 # obj_cls_list = obj.cls.all().values_list('id') # 把元组中的第一个字段取出,组成列表 # id_list = list…
修改 classes.html {% extends "layout.html" %} {% block css %} {% endblock %} {% block content %} <h1>班级管理</h1> <div> <input id="id_add" type="button" value="添加"> <a href="/add_classes.h…
修改 views.py @auth def edit_teacher(request, nid): if request.method == "GET": obj = models.Teacher.objects.get(id=nid) obj_cls_list = obj.cls.all().values_list('id', 'caption') # 三元运算,如果 obj_cls_list 为 true,则 list(zip(*obj_cls_list))[0],否则为 [] i…
models.py 对应的配置 class Classes(models.Model): caption = models.CharField(max_length=32) class Teacher(models.Model): name = models.CharField(max_length=32) cls = models.ManyToManyField('Classes') 修改 views.py @auth def handle_teacher(request): current_…
Form表单上传文件 修改 views.py import os def upload(request): if request.method == 'GET': img_list = models.Img.objects.all() return render(request, 'upload.html', {'img_list': img_list}) elif request.method == 'POST': name = request.POST.get('user') obj = r…
Django - Xadmin (三) 分页.搜索和批量操作 分页和 ShowList 类 因为 list_view 视图函数里面代码太多,太乱,所以将其里面的用于处理表头.处理表单数据的关键代码提取出来,作为函数包装到一个类当中,同时,将分页功能代码也封装到该类中. ShowList 类 因为将代码封装成了一个类,最先重要的是初始化,这里的初始化所传参数如下: def __init__(self, config, data_list, request): config: 即每个表对应的配置类…
疯狂暑期学习 Django学习笔记(三)-- 型号 model 參考:<The Django Book> 第5章 1.setting.py 配置 DATABASES = { 'default': { 'ENGINE': 'django.db.backends.', # 用什么数据库管理系统 'NAME': '', # 数据库名称,假设用sqlite.要写完整路径 'USER': '', # 假设用sqlite,这个不用写 'PASSWORD': '', # 假设用sqlite,这个不用写 'H…
Django的admin管理系统写入中文出错的解决方法 解决错误: 1267  Illegal mix of collations (latin1_swedish_ci,IMPLICIT) and (utf8_general_ci,COERCIBLE) for operation ‘locate’ 一.修必my.ini文件 要找到my.ini,要先去找到ProgramData,(这里要先打开显示隐藏文件的设置),那么要怎么找到ProgramData呢,输入%ProgramData%就OK. my…