11项目实战之后台会员信息管理

1.会员信息数据表

2.定义模型Model类

3.编写视图文件views

4.项目urls路由信息配置

5.编写模板文件

=========================================================================

 

1). 会员信息数据表:member

  • 在数据库 osdb 中创建member表,若此表已存在请跳过

CREATE TABLE `member` (`id` int(10) unsigned NOT NULL AUTO_INCREMENT COMMENT '会员表id',`nickname` varchar(50) DEFAULT NULL COMMENT '昵称',`avatar` varchar(255) DEFAULT NULL COMMENT '头像',`mobile` varchar(50) DEFAULT NULL COMMENT '电话',`status` tinyint(3) unsigned NOT NULL DEFAULT '1' COMMENT '状态:1正常/2禁用/9删除',`create_at` datetime DEFAULT NULL COMMENT '添加时间',`update_at` datetime DEFAULT NULL COMMENT '修改时间',PRIMARY KEY (`id`)
) ENGINE=InnoDB AUTO_INCREMENT=17 DEFAULT CHARSET=utf8;

(2). 定义模型Model类

  • 进入myadmin应用目录中,编辑:myobject/myadmin/models.py 模型文件,添加如下代码
from django.db import modelsfrom datetime import datetime#会员信息模型
class Member(models.Model):nickname = models.CharField(max_length=50)    #昵称avatar = models.CharField(max_length=255)    #头像mobile = models.CharField(max_length=50)    #电话status = models.IntegerField(default=1)        #状态:1正常/2禁用/9删除create_at = models.DateTimeField(default=datetime.now)    #创建时间update_at = models.DateTimeField(default=datetime.now)    #修改时间def toDict(self):return {'id':self.id,'nickname':self.nickname,'avatar':self.avatar,'mobile':self.mobile,'status':self.status,'create_at':self.create_at.strftime('%Y-%m-%d %H:%M:%S'),'update_at':self.update_at.strftime('%Y-%m-%d %H:%M:%S')}class Meta:db_table = "member"  # 更改表名

  (3). 编辑视图文件

  • 新建视图文件:myobject/myadmin/views/member.py 视图文件,并进行编辑
#会员信息视图文件
from django.shortcuts import render
from django.http import HttpResponse
from django.core.paginator import Paginatorfrom myadmin.models import Member# ==============后台会员信息管理======================
# 浏览会员信息
def index(request,pIndex=1):mod = Member.objectslist = mod.filter(status__lt=9)#执行分页处理pIndex = int(pIndex)page = Paginator(list,5) #以5条每页创建分页对象maxpages = page.num_pages #最大页数#判断页数是否越界if pIndex > maxpages:pIndex = maxpagesif pIndex < 1:pIndex = 1list2 = page.page(pIndex) #当前页数据plist = page.page_range   #页码数列表#封装信息加载模板输出context = {"memberlist":list2,'plist':plist,'pIndex':pIndex,'maxpages':maxpages}return render(request,"myadmin/member/index.html",context)

(4). 项目urls路由信息配置,这里只需要 浏览路由 就可以了

  • 打开根路由文件:myobject/myadmin/urls.py路由文件,编辑路由配置信息

from django.urls import pathfrom myadmin.views import memberurlpatterns = [...#会员管理路由path('member/', member.index, name="myadmin_member_index"), #浏览会员
]

(5). 编写模板文件

  • 5.1. 打开父类模板:/templates/myadmin/base.html ,编辑导航栏代码
    ...
  • 会员管理
  • ...
    • 5.2. 后台会员信息浏览页模板:/templates/myadmin/member/index.html

    {% extends 'myadmin/base.html' %}
    {% load static from staticfiles %}{% block main_body %}

    会员管理订餐系统后台管理

    会员信息表

    {% for vo in memberlist %}{% endfor %}
    ID昵称头像联系电话当前状态添加时间修改时间操作
    {{ vo.id }}{{ vo.nickname }}{{ vo.avatar }}{{ vo.mobile }}{% if vo.status == 1 %}正常{% elif vo.status == 2 %}禁停{% elif vo.status == 9 %}已删除{% else %}未知状态{% endif %}{{ vo.create_at|date:'Y-m-d H:i:s' }}{{ vo.update_at|date:'Y-m-d H:i:s' }} 编辑
    {% endblock %}

    (6). 运行测试

    • 在项目根目录下启动服务,并使用浏览器访问测试:http://localhost:8000/myadmin


    本文来自互联网用户投稿,文章观点仅代表作者本人,不代表本站立场,不承担相关法律责任。如若转载,请注明出处。 如若内容造成侵权/违法违规/事实不符,请点击【内容举报】进行投诉反馈!

    相关文章

    立即
    投稿

    微信公众账号

    微信扫一扫加关注

    返回
    顶部