课程设计&毕设学习分享—基于Django购物网站HTML5响应式设计与实现

前言

博主最近在做课程设计,本文介绍的内容是在学习这类项目时觉得比较好的一个方案,还有很多方案和思路适合课程设计、毕业设计,包括项目源码、使用说明、数据、设计文档等等,都是博主在csdn下载学习后觉得不错的资源,一起打包放在了这里(https://mbd.pub/o/bread/ZpWWkp1w),有需要的同学可以自取,价格实惠,绝对友情价,可以自己搜索对比下;最重要的是,比起自己去单个搜索,博主已经汇总好了这一类的知识,而且筛选过,更能够有效帮到大家做课程设计和毕业设计!!

PS:合集中包括下面的项目
农产品订购商城APP客户端(源码+项目说明)
农富通区块链积分商城源码
基于 Flask 框架开发的微信小程序后端项目,用于构建小程序商城后台项目源码(项目实战)
基于JSP+Servlet的购物车系统源码+数据库+项目说明+PPT
基于JSP+Java+Servlet采用MVC模式开发的购物网站源码+项目说明
基于JavaWEB+SSM+mysql框架构建的在线商城系统源码+项目说明(课程设计)
基于Java的农副产品销售网站商城设计与实现源码+数据库
基于Qt的电子商城系统源码+项目说明
基于SSM+Vue+Mysql的手机商城销售系统项目源码+数据库+项目说明(本科毕设)
基于SSM架构前后端分离的仿天猫商城系统源码
基于SSM架构实现的大型分布式购物网站-B2C项目源码+项目说明
基于SSM框架+Mysql开发的线上商城项目(带管理平台)源码+项目说明
基于SSM的B2C商城系统源码+项目说明(网上购物一套流程以及后台、会员相关管理)
基于SpringBoot+Bootstrap+Mybatis的校园二手商城系统源码+数据库+项目说明
基于javaweb的前后端分离蛋糕商城系统源码+项目说明(高分课设)
基于jsp+servlet实现的网上购物系统,包含用户权限控制源码+数据库+项目说明
基于区块链技术的在线购物平台源码+项目说明+数据库(使用加密货币进行支付+可用于商品追溯)

下面正式介绍本文标题所对应的项目案例:
Python基于Django[购物网站]HTML5响应式设计毕业源码案例设计

开发技术: Python + Django框架 + mysql数据库

开发工具:PyCharm

采用MVC框架做的购物网站,前台用的Bootstrap框架,有管理员和用户2个身份!用户注册登录后可以查询自己感兴趣的商品,加入商品到购物车,提交订单购买!管理员可以在后台管理商品分类信息,发布管理商品信息,查询用户提交的订单安排发货,用户收到货后可以确认收货然后评价,管理员可以在后台查询用户的评价!网站商品还有最新商品,热销商品,猜你喜欢等模块,网站内容丰富,还可以根据订单号查询物流动态!

部分源码:

import xlrd

from django.shortcuts import render, HttpResponse
from django.contrib.auth.decorators import login_required
from django.contrib.auth.decorators import permission_required
from django.contrib.auth.models import User, Group
from django.contrib.auth.views import login
from django.contrib.admin.views.decorators import staff_member_required
from django.db import IntegrityError

from student.models import StudentInfo
from teacher.models import TeacherInfo
from notice.models import Notice
from department.models import Department, Office, Major, Year
from department.views import get_department


# 登录限制
def limited_login(request):
    if 'username' in request.POST:
        username = request.POST['username']
        user = User.objects.filter(username=username).first()
    else:
        user = None

    if user is not None and user.username in request.session:
        if not user.is_superuser and request.session[user.username] >= 3:
            user.is_staff = False
            user.save()
            return HttpResponse('密码输入错误3次, 账户已锁定!')

    rep = login(request)
    status_code = rep.status_code
    if status_code == 200 and user is not None:
        if user.username in request.session:
            request.session[user.username] += 1
        else:
            request.session[user.username] = 1
    return rep


# 首页
@login_required
@staff_member_required(login_url='login')
def index(request):
    department = get_department(request)
    if department is not None:
        latest_notice = Notice.objects.filter(
            department=department).order_by('-pub_date')[:3]
    else:
        latest_notice = Notice.objects.order_by('-pub_date')[:3]

    context = {'latest_notice': latest_notice}
    return render(request, 'index.html', context)


# 获取表格
def get_xls_table(sheet_name):
    try:
        data = xlrd.open_workbook('GDMS/data.xls')
    except Exception:
        return None
    return data.sheet_by_name(sheet_name)


# 行迭代生成器
def get_xls_line(sheet_name):
    table = get_xls_table(sheet_name)
    if table is None:
        return None
    for r in range(1, table.nrows):
        yield table.row_values(r)


# 添加学院、专业、教研室、年级
def add_basis():
    s_table = get_xls_table('students')
    t_table = get_xls_table('teachers')
    s_department = s_table.col_values(0)[1:]
    t_department = t_table.col_values(0)[1:]
    department = s_department + t_department
    office = t_table.col_values(1)[1:]
    major = s_table.col_values(1)[1:]
    year = s_table.col_values(2)[1:]

    for d in set(department):
        try:
            Department.objects.create(name=d)
        except IntegrityError:
            continue

    for o in set(zip(t_department, office)):
        try:
            Office.objects.create(
                department=Department.objects.get(name=o[0]),
                name=o[1],
            )
        except IntegrityError:
            continue

    for m in set(zip(s_department, major)):
        try:
            Major.objects.create(
                department=Department.objects.get(name=m[0]),
                name=m[1]
            )
        except IntegrityError:
            continue

    for y in set(year):
        try:
            Year.objects.create(value=int(y))
        except IntegrityError:
            continue


# 添加教师
def add_teachers():
    values = get_xls_line('teachers')
    if values is None:
        return False

    for line in values:
        (department, office, username, name, title, contact, maxchoice) = line

        try:
            teacher = User.objects.create_user(
                username=username,
                password='asdfasdfasdf',
                first_name=name,
            )
        except IntegrityError:
            teacher = User.objects.get(username=username)
        finally:
            teacher.is_staff = True
            teacher.groups.add(Group.objects.get(name='teachers'))
            teacher.save()

        try:
            TeacherInfo.objects.create(
                t_id=teacher,
                t_department=Department.objects.get(name=department),
                t_office=Office.objects.get(name=office),
                t_title=title,
                t_contact=contact,
                t_maxchoice=int(maxchoice),
            )
        except IntegrityError:
            pass


# 添加学生
def add_students():
    values = get_xls_line('students')
    if values is None:
        return False

    for line in values:
        (department, major, year, username, name, contact) = line

        try:
            student = User.objects.create_user(
                username=username,
                password='asdfasdfasdf',
                first_name=name,
            )
        except IntegrityError:
            student = User.objects.get(username=username)
        finally:
            student.is_staff = True
            student.groups.add(Group.objects.get(name='students'))
            student.save()

        try:
            StudentInfo.objects.create(
                s_id=student,
                s_department=Department.objects.get(name=department),
                s_major=Major.objects.get(name=major),
                s_year=Year.objects.get(value=year),
                s_contact=contact,
            )
        except IntegrityError:
            pass


# 导入数据
@permission_required('is_superuser')
def add(request):
    add_basis()
    add_teachers()
    add_students()
    return render(request, 'index.html')
  • 5
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值