大家好,我是java1234_小锋老师,看到一个不错的基于Python的Django在线(生鲜)商城(电子商城)管理系统,分享下哈。
项目视频演示
【免费】基于Python的Django在线(生鲜)商城(电子商城)管理系统 Python毕业设计_哔哩哔哩_bilibili
项目介绍
随着电子商务的迅速发展,在线商城作为现代商业的重要组成部分,已经深刻地改变了消费者的购物方式和商业运营模式。本论文提出并实现了一种基于Python的Django框架的在线生鲜商城管理系统。该系统旨在为用户提供便捷的商品浏览、下单、支付等一站式服务,同时为商家提供高效的商品管理、订单处理、用户管理等功能,提升运营效率和用户体验。
首先,论文介绍了Django框架的特点及其在Web开发中的优势,阐述了采用Django框架进行开发的技术选型与架构设计。系统设计中,前端采用HTML、CSS、JavaScript等技术实现用户界面的交互和响应式布局;后端则通过Django的MVC架构实现数据管理、用户认证和业务逻辑处理。数据库部分使用SqlLite进行数据存储,并通过Django ORM进行数据操作。
该系统主要包括用户端和管理端两大模块。用户端提供生鲜商品展示、购物车管理、订单支付、评价系统等功能,确保用户能够方便地浏览、购买商品,并享受个性化推荐和优惠信息;管理端则包含商品管理、订单管理、用户管理、统计分析等功能,帮助商家有效管理库存、跟踪订单和优化运营策略。
通过系统的设计与实现,本文展示了基于Django的生鲜商城管理系统的可行性及其在实际应用中的潜力。系统的高可扩展性、灵活性和安全性,满足了现代电子商务平台对高效、稳定和易维护的要求。最终,通过测试与用户反馈,验证了该系统在功能完整性、性能表现和用户体验方面的优越性。
系统展示
部分代码
from django.shortcuts import render, redirect, HttpResponseRedirect, reverse
from django.core.paginator import Paginator
from django.http import JsonResponsefrom hashlib import sha1from .models import GoodsBrowser
from . import user_decorator
from df_order.models import *def register(request):context = {'title': '用户注册',}return render(request, 'df_user/register.html', context)def register_handle(request):username = request.POST.get('user_name')password = request.POST.get('pwd')confirm_pwd = request.POST.get('confirm_pwd')email = request.POST.get('email')# 判断两次密码一致性if password != confirm_pwd:return redirect('/user/register/')# 密码加密s1 = sha1()s1.update(password.encode('utf8'))encrypted_pwd = s1.hexdigest()# 创建对象UserInfo.objects.create(uname=username, upwd=encrypted_pwd, uemail=email)# 注册成功context = {'title': '用户登陆','username': username,}return render(request, 'df_user/login.html', context)def register_exist(request):username = request.GET.get('uname')count = UserInfo.objects.filter(uname=username).count()return JsonResponse({'count': count})def login(request):uname = request.COOKIES.get('uname', '')context = {'title': '用户登陆','error_name': 0,'error_pwd': 0,'uname': uname,}return render(request, 'df_user/login.html', context)def login_handle(request): # 没有利用ajax提交表单# 接受请求信息uname = request.POST.get('username')upwd = request.POST.get('pwd')jizhu = request.POST.get('jizhu', 0)users = UserInfo.objects.filter(uname=uname)if len(users) == 1: # 判断用户密码并跳转s1 = sha1()s1.update(upwd.encode('utf8'))if s1.hexdigest() == users[0].upwd:url = request.COOKIES.get('url', '/')red = HttpResponseRedirect(url) # 继承与HttpResponse 在跳转的同时 设置一个cookie值# 是否勾选记住用户名,设置cookieif jizhu != 0:red.set_cookie('uname', uname)else:red.set_cookie('uname', '', max_age=-1) # 设置过期cookie时间,立刻过期request.session['user_id'] = users[0].idrequest.session['user_name'] = unamereturn redelse:context = {'title': '用户名登陆','error_name': 0,'error_pwd': 1,'uname': uname,'upwd': upwd,}return render(request, 'df_user/login.html', context)else:context = {'title': '用户名登陆','error_name': 1,'error_pwd': 0,'uname': uname,'upwd': upwd,}return render(request, 'df_user/login.html', context)def logout(request): # 用户登出request.session.flush() # 清空当前用户所有sessionreturn redirect(reverse("df_goods:index"))@user_decorator.login
def info(request): # 用户中心username = request.session.get('user_name')user = UserInfo.objects.filter(uname=username).first()browser_goods = GoodsBrowser.objects.filter(user=user).order_by("-browser_time")goods_list = []if browser_goods:goods_list = [browser_good.good for browser_good in browser_goods] # 从浏览商品记录中取出浏览商品explain = '最近浏览'else:explain = '无最近浏览'context = {'title': '用户中心','page_name': 1,'user_phone': user.uphone,'user_address': user.uaddress,'user_name': username,'goods_list': goods_list,'explain': explain,}return render(request, 'df_user/user_center_info.html', context)@user_decorator.login
def order(request, index):user_id = request.session['user_id']orders_list = OrderInfo.objects.filter(user_id=int(user_id)).order_by('-odate')paginator = Paginator(orders_list, 2)page = paginator.page(int(index))context = {'paginator': paginator,'page': page,# 'orders_list':orders_list,'title': "用户中心",'page_name': 1,}return render(request, 'df_user/user_center_order.html', context)@user_decorator.login
def site(request):user = UserInfo.objects.get(id=request.session['user_id'])if request.method == "POST":user.ushou = request.POST.get('ushou')user.uaddress = request.POST.get('uaddress')user.uyoubian = request.POST.get('uyoubian')user.uphone = request.POST.get('uphone')user.save()context = {'page_name': 1,'title': '用户中心','user': user,}return render(request, 'df_user/user_center_site.html', context)
#!/user/bin/env python
# -*- coding: utf-8 -*-
from django.conf.urls import urlfrom .views import *app_name = 'df_user'urlpatterns = [url(r'^register/$', register, name="register"),url(r'^register_handle/$', register_handle, name="register_handle"),url(r'^register_exist/$', register_exist, name="register_exist"),url(r'^login/$', login, name="login"),url(r'^login_handle/$', login_handle, name="login_handle"),url(r'^info/$', info, name="info"),url(r'^order/(\d+)$', order, name="order"),url(r'^site/$', site, name="site"),# url(r'^place_order/$', views.place_order),url(r'^logout/$', logout, name="logout"),
]
源码代码
链接:https://pan.baidu.com/s/1qF5-QZP9wvl7cvwZxziySQ
提取码:1234