1824python进销存管理系统mysql数据库Django结构layUI布局计算机软件工程网页

news2024/12/21 22:50:30

一、源码特点
    python Django进销存管理系统是一套完善的web设计系统mysql数据库 ,对理解python编程开发语言有帮助,系统具有完整的源代码和数据库,系统主要采用B/S模式开发。
    开发环境pycharm
    mysql 5.0 到5.5
    依赖包 Django 2.2.16

python进销存管理系统1Django开发网页

二、功能介绍
(1)员工管理:对员工信息进行添加、删除、修改和查看
(2)客户评级管理:对客户评级信息进行添加、删除、修改和查看
(3)客户管理:对客户信息进行添加、删除、修改和查看
(4)商品管理:对商品信息进行添加、删除、修改和查看
(5)入库管理:对入库信息进行添加、删除、修改和查看
(6)销售管理:对销售信息进行添加、删除、修改和查看
(7)日志管理:对日志信息进行添加、删除、修改和查看
(8)欺诈管理:对欺诈信息进行添加、删除、修改和查看
(9)流失管理:对流失信息进行添加、删除、修改和查看
(10)系统登录、个人信息修改

代码设计



#系统首页
def main(request):
    yhm=request.session.get('yhm')
    qx = request.session.get('qx')
    return render(request, "main.html",{'qx':qx,'yhm':yhm})
def rizhi(request,nr):
    d1 = timezone.now();
    czsj = d1.strftime("%Y-%m-%d %H:%M:%S")
    yh=request.session.get('yhm')
    models.rizhi.objects.create(czsj=czsj, yh=yh, nr=nr, )

#登录首页
def login(request):
    if request.method == 'GET':
            return render(request, "login.html")
    if request.method == 'POST':
        yhm = request.POST.get('yhm')  # 用户名
        mm = request.POST.get('mm')  # 密码
        res = models.yuangong.objects.filter(yhm=yhm, mm=mm).count()
        if res == 0:
               messages.success(request, "操作失败、用户名和密码不匹配")
               return redirect('/login')
        elif res > 0:
             obj = models.yuangong.objects.filter(yhm=yhm, mm=mm).first()
             request.session['id'] = obj.id
             request.session['yhm'] = yhm
             request.session['mm'] = mm
             request.session['qx'] = obj.qx
             rizhi(request,"登录系统")
             return redirect('/main')
# 退出功能

def out(request):
       	request.session['id'] = obj.id
             request.session['yhm'] = yhm
             request.session['mm'] = mm
             request.session['qx'] = obj.qx
             rizhi(request,"登录系统")
             return redirect('/main')


#添加员工
def yuangongadd(request):
   if request.method == 'GET':
       return render(request, "yuangong/yuangongadd.html")
   if request.method == 'POST':
        yhm = request.POST.get('yhm') #用户名
        mm = request.POST.get('mm') #密码
        xm = request.POST.get('xm') #姓名
        lxdh = request.POST.get('lxdh') #联系电话
        lxdz = request.POST.get('lxdz') #联系地址
        qx = request.POST.get('qx') #权限

        res = models.yuangong.objects.filter(yhm=yhm).count();
        if res>0:
            messages.success(request, "操作失败、用户名重复")
        elif res==0:
             rizhi(request, "添加员工")
             messages.success(request, "操作成功")
             models.yuangong.objects.create(yhm=yhm, mm=mm, xm=xm, lxdh=lxdh, lxdz=lxdz, qx=qx, )



        return render(request, "yuangong/yuangongadd.html")

model层设计


#员工表
class yuangong(models.Model):
	
    yhm=models.CharField(max_length=40)#用户名
    mm=models.CharField(max_length=40)#密码
    xm=models.CharField(max_length=40)#姓名
    lxdh=models.CharField(max_length=40)#联系电话
    lxdz=models.CharField(max_length=40)#联系地址
    qx=models.CharField(max_length=40)#权限

#客户评级表
class khpj(models.Model):
	
    jbmc=models.CharField(max_length=40)#级别名称

#客户表
class kehu(models.Model):
	
    khmc=models.CharField(max_length=40)#客户名称
    lxdh=models.CharField(max_length=40)#联系电话
    lxdz=models.CharField(max_length=40)#联系地址
    khpj=models.CharField(max_length=40)#客户评级

#商品表
class shangpin(models.Model):
	
    spmc=models.CharField(max_length=40)#商品名称
    js=models.CharField(max_length=4000)#介绍
    cd=models.CharField(max_length=40)#产地
    gg=models.CharField(max_length=40)#规格
    kc=models.IntegerField(default=0)#库存
    jg=models.IntegerField(default=0)#价格

#入库表
class ruku(models.Model):
	
    rkls=models.CharField(max_length=40)#入库流水
    sp=models.CharField(max_length=40)#商品
    rksl=models.IntegerField(default=0)#入库数量
    czsj=models.CharField(max_length=40)#操作时间

#销售表
class xiaoshou(models.Model):
	
    xsls=models.CharField(max_length=40)#销售流水
    sp=models.CharField(max_length=40)#商品
    xssl=models.IntegerField(default=0)#销售数量
    czsj=models.CharField(max_length=40)#操作时间
    pj=models.CharField(max_length=4000)#评价
    je=models.IntegerField(default=0)#销售金额

展现层设计

     <div class="pagewrap">

                <h2 class="title">客户列表</h2>
            </div>
        </div>
        <div class="layui-row">
            <div class="layui-card">
                <div class="layui-card-body">
                    <div class="form-box">
                        <div class="layui-form layui-form-item">
                            <div class="layui-inline">
                    <div class="layui-form-mid">客户名称:</div>
                                <div class="layui-input-inline" style="width: 100px;">

                                  <input type="text" autocomplete="off" name="khmc" value="" class="layui-input">
                                </div>


                                <button class="layui-btn layui-btn-blue">查询</button>

                            </div>
                        </div>

                        <table id="table1">
						<tr  >
						<th>序号</th>
						
						         <th >客户名称</th>

						         <th >联系电话</th>

						         <th >联系地址</th>

						         <th >客户评级</th>

					      
        <th >操作</th>
						</tr>

						  <TBODY id="table2">

					      {% for value in list %}
						<tr>
						<td>{{ forloop.counter}}</td>

					        <td  >{{ value.khmc}}</td>

					        <td  >{{ value.lxdh}}</td>

					        <td  >{{ value.lxdz}}</td>

					        <td  >{{ value.khpj}}</td>


					  
						<td >
                    <a href="/kehu/kehumodify?id={{ value.id }}">修改</a> <a href="/kehu/kehudetail?id={{ value.id }}">详情</a>
                    <a onClick="javascript:return confirm('您确定要删除吗?')" href="/kehu/kehudelete?id={{ value.id }}">删除</a>


						</td>
						</tr>
                    {% endfor %}
						    </TBODY>
						</table>

                      {% if messages %}
    <script>
      {% for msg in messages %}
        alert('{{ msg.message }}');
      {% endfor %}
    </script>
  {% endif %}


三、注意事项
    1、管理员账号:admin密码:admin 数据库配置文件jxc/settings.py  更改数据库配置
    2、开发环境pycharm,数据库为mysql5.0~5.5,使用python语言开发。
    3、数据库文件名是pythonjxc.sql ,系统名称pythonjxc
    4、系统首页地址:http://127.0.0.1:8080/login

四 系统实现

需要源码 其他的定制服务  下方联系卡片↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓ 或者私信作者

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/1705264.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

2024电激世界脉动-中国汽车品牌全球化制胜手册

来源&#xff1a;奥美Ogilvy&#xff1a; 近期历史回顾&#xff1a; 2024中国宏观经济专题报告-数据要素市场建设 2023-2024年度报告.pdf 2024制药与生化医疗技术产业链白皮书.pdf 从可再生能源到绿氢-中国投资助力埃及能源转型.pdf 2024有机旅行中国行业指引.pdf 2024中国技术…

connection problem,giving up

参考&#xff1a; https://zhuanlan.zhihu.com/p/93438433 仅仅安装 sudo apt-get install xrdp 在用RDP远程的时候总是卡在登录界面&#xff0c;connection problem,giving up&#xff0c; some problem… 第一步&#xff1a; sudo apt-get install xserver-xorg-core sudo…

CC工具箱使用指南:【淹没区分析(BHM)】

一、简介 群友定制工具。 这个工具适用面比较小。 工具的应用场景如下&#xff1a; 提供一个淹没区范围&#xff0c;类型是面要素。统计这个范围内的一些线、面要素的面积或长度。 给定的几个数据有&#xff1a;耕地、永久基本农田、房台、道路&#xff08;线&#xff09;…

英语语法早操练-(上)

说起语法宝宝感觉心里苦。那么多语法注意点&#xff0c;哪个都放不到心里&#xff0c;句子表达还是错。这种情况是浪费了80%的时间做了达不到20%效果的事情。 要想写出没有语法错误的句子&#xff0c;那至少得知道词性和句子成分。 词性就是名词、动词、形容词、介词等 句子成分…

R实验 正交试验设计与一元线性回归分析

实验目的&#xff1a; 掌握正交试验设计记号的意义&#xff1b;掌握正交试验设计的直观分析和方差分析&#xff1b;掌握一元线性回归模型的相关概念&#xff1b;掌握最小二乘法的思想&#xff1b;掌握一元线性回归方程的显著性检验和预测。 实验内容&#xff1a; &#xff11;…

联想应用商店开发者常见问题FAQ

Phone/Pad应用常见问题 应用上传FAQ Q. 上传apk包时&#xff0c;提示“该包名已存在”如何处理&#xff1f; A&#xff1a;若应用包名出现冲突&#xff0c;请先核实该账号是否已存在该包名产品&#xff0c;若不在该账号下&#xff0c;请进行应用认领。 Q. 应用是否可以授权…

如何判断自己的逆商(AQ)高低?

什么是逆商&#xff1f; 逆商指的是人们在面临困难挫折时&#xff0c;如何摆脱困难和挫折的能力。逆商简称为AQ&#xff0c;也叫抗挫折能力。 逆商&#xff08;Adversity Quotient&#xff0c;简称AQ&#xff09;&#xff0c;是指个体面对逆境时的反应方式和应对能力&#xff…

wps能打开caj文件吗?CAJ应该如何打开?caj转pdf

问题1&#xff1a;wps能打开caj文件吗&#xff1f; WPS不能直接打开CAJ文件。 CAJ是中国知网开发的一种文件格式&#xff0c;主要用于存储学术文献&#xff0c;需要使用专门的阅读器才能打开。 问题2&#xff1a;CAJ应该如何打开&#xff1f; 要打开CAJ文件&#xff0c;你可…

3本救命神刊!录用率≥98%,非预警,最快2天录用!

本救命神刊&#xff0c;录用率高&#xff0c;无预警&#xff0c;14年期刊编辑全程保驾护航&#xff0c;省心省力助你快速发表&#xff01; 进展超顺 SSCI 社科类SSCI • 影响因子&#xff1a;3.0-4.0 • 期刊分区&#xff1a;JCR2/3区&#xff0c;中科院3/4区 • Index&…

界面控件DevExtreme v23.2亮点 - 标签、表单、编辑器功能升级

DevExtreme拥有高性能的HTML5 / JavaScript小部件集合&#xff0c;使您可以利用现代Web开发堆栈&#xff08;包括React&#xff0c;Angular&#xff0c;ASP.NET Core&#xff0c;jQuery&#xff0c;Knockout等&#xff09;构建交互式的Web应用程序。从Angular和Reac&#xff0c…

Hadoop HA 搭建过程中报错:namenode格式化

问题描述&#xff1a; 在格式化namenode时&#xff0c;显示报错如下 2024-03-07 13:55:30,543 ERROR namenode.FSNamesystem: FSNamesystem initialization failed. java.io.IOException: Invalid configuration: a shared edits dir must not be specified if HA is not enab…

半藏酒业新零售分红制度拆解,起盘运营服务商

半藏酱酒招商模式&#xff0c;白酒合伙人模式&#xff0c;顶层模式设计 社群玩法用这几年的互联网词汇描述叫私域营销。虽然不走传统商超&#xff0c;酒桌之外很少能看到&#xff0c;但随着核心消费者裂变和流量汇聚&#xff0c;现在能见度越来越高&#xff0c;并溢出到达公域。…

盲人心理辅导课程:心灵的引路人

在这个快节奏的社会中&#xff0c;技术的每一次跃进都在悄然改变着人们的生活方式&#xff0c;尤其对于盲人群体&#xff0c;一款名为“蝙蝠避障”的辅助软件成为了他们探索世界的得力助手。通过实时避障与拍照识别功能&#xff0c;“蝙蝠避障”不仅保障了盲人朋友的日常安全&a…

哈根达斯线下连锁店后台管理系统原型

部件库预览链接&#xff1a;请与班主任联系获取原型文档 支持版本: Axrure RP 8 文件大小: 3MB 文档内容介绍 l原型目录 l原型界面 免费领取资料 添加班主任回复 “210407” 领取

【leetcode1944--队列中可以看到的人数】

有n人排成一个队列&#xff0c;从左到右编号为0到n-1&#xff0c;height数组记录每个人的身高&#xff0c;返回一个数组&#xff0c;记录每个人能看到几个人。 类比&#xff1a;山峰问题&#xff0c;高的后面的矮的看不见。 从后往前&#xff0c;最后一个元素入栈&#xff0c…

方正国际金融事业部副总经理白冰受邀为第十三届中国PMO大会演讲嘉宾

全国PMO专业人士年度盛会 方正国际软件&#xff08;北京&#xff09;有限公司金融事业部副总经理白冰先生受邀为PMO评论主办的2024第十三届中国PMO大会演讲嘉宾&#xff0c;演讲议题为“浅析多项目管理的成功因素”。大会将于6月29-30日在北京举办&#xff0c;敬请关注&#xf…

LeetCode刷题之HOT100之最长回文串

2024/5/28 大家上午好啊&#xff0c;我又来做题了 1、题目描述 2、逻辑分析 题目要求找出最长的回文子串。我回去看了一下回文数字和回文链表这两道题。这个题目的思想其实跟以上两题也差不多&#xff0c;但是结合了最长子串这一概念。那么怎么解决这个题目呢&#xff1f;那么…

YOLOv8+PyQt5动物检测系统完整资源集合(yolov8模型,从图像、视频和摄像头三种路径识别检测,包含登陆页面、注册页面和检测页面)

1.猫狗猴检测YOLOv8&#xff08;https://mbd.pub/o/bread/mbd-ZpaTl51u&#xff09;_哔哩哔哩_bilibili 资源包含可视化的动物检测系统&#xff0c;基于最新的YOLOv8训练的动物检测模型&#xff0c;和基于PyQt5制作的可视化动物检测系统&#xff0c;包含登陆页面、注册页面和检…

探索智能零售的未来商机与运营策略

探索智能零售的未来商机与运营策略 在智能零售的广阔图景中&#xff0c;无人售货机加盟赫然矗立为一股不可小觑的力量&#xff0c;预示着零售业态未来的转型与机遇。其核心优势多维展开&#xff0c;具体阐述如下&#xff1a; 1. **全天候服务**&#xff1a;无人售货机的运行跨…

后量子密码算法的数学原理

后量子密码算法&#xff0c;作为应对未来量子计算时代挑战的重要技术手段&#xff0c;其研究和应用正在逐步成为信息安全领域的热点。以下是对后量子密码算法的详细阐述&#xff1a; 一、背景与意义 随着量子计算技术的快速发展&#xff0c;传统的公钥密码算法&#xff0c;如RS…