1967python多媒体素材管理系统mysql数据库Django结构layUI布局计算机软件工程网页

news2024/12/23 10:57:11

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

pythonDjango多媒体素材管理系统1

二、功能介绍
(1)用户管理:对用户信息进行添加、删除、修改和查看
(2)媒体分类管理:对媒体分类信息进行添加、删除、修改和查看
(3)标签管理:对标签信息进行添加、删除、修改和查看
(4)媒体管理:对媒体信息进行添加、删除、修改和查看 浏览  下载
(5)评价管理:对评价信息进行添加、删除、修改和查看
(10)系统登录、个人信息修改

view层设计


#登录首页
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.yonghu.objects.filter(yhm=yhm, mm=mm).count()
        if res == 0:
               messages.success(request, "操作失败、用户名和密码不匹配")
               return redirect('/login')
        elif res > 0:
             obj = models.yonghu.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

             return redirect('/main')

#注册用户
def reg(request):
    if request.method == 'GET':
        return render(request, "reg.html")
    if request.method == 'POST':
        yhm = request.POST.get('yhm')  # 用户名
        mm = request.POST.get('mm')  # 密码
        xm = request.POST.get('xm')  # 姓名
        qx = "用户"  # 权限
        lxdh = request.POST.get('lxdh')  # 联系电话
        lxdz = request.POST.get('lxdz')  # 联系地址

        res = models.yonghu.objects.filter(yhm=yhm).count();
        if res > 0:
            messages.success(request, "注册失败、用户名重复")
        elif res == 0:
            messages.success(request, "注册成功")
            models.yonghu.objects.create(yhm=yhm, mm=mm, xm=xm, qx=qx, lxdh=lxdh, lxdz=lxdz, )
        # return render(request, "yonghu/yonghuadd.html")
        return redirect('/reg')

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

        res = models.yonghu.objects.filter(yhm=yhm).count();
        if res > 0:
            messages.success(request, "操作失败、用户名重复")
        elif res == 0:
            messages.success(request, "操作成功")
            models.yonghu.objects.create(yhm=yhm, mm=mm, xm=xm, qx=qx, lxdh=lxdh, lxdz=lxdz, )
        # return render(request, "yonghu/yonghuadd.html")
        return redirect('/yonghu/yonghuadd')


# 用户列表
def yonghulist(request):
    print(request.method)
    global list
    if request.method == 'GET':

        yhm = request.GET.get('yhm')  # 用户名
        if not yhm:
            yhm = ""
        print(yhm)
        list = models.yonghu.objects.filter(yhm__icontains=yhm).all()  # 获取yonghu表所有的数据
    return render(request, "yonghu/yonghulist.html", {'list': list})

model层设计



# 用户表
class yonghu(models.Model):

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


# 媒体分类表
class mtfl(models.Model):

    fl = models.CharField(max_length=40)  # 分类


# 标签表
class biaoqian(models.Model):

    bq = models.CharField(max_length=40)  # 标签


# 媒体表
class meiti(models.Model):

    mtmc = models.CharField(max_length=40)  # 媒体名称
    lx = models.CharField(max_length=40)  # 类型
    fl = models.CharField(max_length=40)  # 分类
    bq = models.CharField(max_length=40)  # 标签
    sm = models.CharField(max_length=4000)  # 说明
    scsj = models.CharField(max_length=40)  # 上传时间
    fj = models.CharField(max_length=40)  # 附件


# 评价表
class pingjia(models.Model):

    mt = models.CharField(max_length=40)  # 媒体
    pj = models.CharField(max_length=4000)  # 评价
    df = models.CharField(max_length=40)  # 打分
    yh = models.CharField(max_length=40)  # 用户
    pjsj = models.CharField(max_length=40)  # 评价时间

展现层设计

 <div class="layui-row">
        <div class="layui-card">
            <div class="layui-card-header">添加媒体</div>
            <form class="layui-form layui-card-body" name="form" action="" method="post">
                {% csrf_token %}
                <div class="layui-form-item">
                    <label class="layui-form-label">媒体名称</label>
                    <div class="layui-input-block">
                        <input type="text" name="mtmc" required lay-verify="required" placeholder="请输入媒体名称"
                               autocomplete="off" class="layui-input" value="">
                    </div>
                </div>
                <div class="layui-form-item">
                    <label class="layui-form-label">类型</label>
                    <div class="layui-input-block">

                             <select name="lx">

                        <option value="图片">图片</option>
                                 <option value="音频">音频</option>
                                    <option value="视频">视频</option>
                        </select>

                    </div>
                </div>
                <div class="layui-form-item">
                    <label class="layui-form-label">分类</label>
                    <div class="layui-input-block">

                             <select name="fl">
                       {% for value in fllist %}
                        <option value="{{ value.fl}}">{{ value.fl}}</option>
                          {% endfor %}
                        </select>

                    </div>
                </div>
                <div class="layui-form-item">
                    <label class="layui-form-label">标签</label>
                    <div class="layui-input-block">

                             <select name="bq">
                       {% for value in bqlist %}
                        <option value="{{ value.bq}}">{{ value.bq}}</option>
                          {% endfor %}
                        </select>
                    </div>
                </div>
                <div class="layui-form-item">
                    <label class="layui-form-label">说明</label>
                    <div class="layui-input-block">

                        <textarea  name="sm" required lay-verify="required" placeholder="请输入说明"  class="layui-textarea" cols="80" rows="5"></textarea>
                    </div>
                </div>
                <div class="layui-form-item">
                    <label class="layui-form-label">上传时间</label>
                    <div class="layui-input-block">
                        <input type="text" name="scsj" required lay-verify="required" placeholder="请输入上传时间"
                               autocomplete="off" class="layui-input" value="{{ scsj }}" readonly>
                    </div>
                </div>
                <div class="layui-form-item">
                    <label class="layui-form-label">附件</label>
                    <div  class="layui-input-inline" style="width: 100px;">
                    <input type="text" name="fj" required lay-verify="required" placeholder="请输入附件"
                               autocomplete="off" style="width: 100px;" class="layui-input" value="">
                    </div>
                                        <div class="layui-input-inline" style="width: 100px;">

                         <button class="layui-btn layui-btn-red" type="button" onclick="funpic()">上传</button>

                    </div>
                </div>


                <div class="layui-form-item">
                    <div class="layui-input-block">
                        <button class="layui-btn layui-btn-blue" lay-submit lay-filter="formDemo">提交</button>
                        <button type="reset" class="layui-btn layui-btn-primary">重置</button>
                    </div>
                </div>
                {% if messages %}
                    <script>
                        {% for msg in messages %}
                            alert('{{ msg.message }}');
                        {% endfor %}
                    </script>
                {% endif %}
            </form>
        </div>


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

四 系统实现

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

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

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

相关文章

推荐丨 IP地址如何申请SSL证书实现https

为IP地址申请SSL证书可以让用户通过HTTPS协议安全地访问直接绑定到IP地址的网站或服务。以下是申请IP地址SSL证书的一般步骤&#xff1a; 1 选择支持IP证书的CA&#xff1a;直接为IP地址颁发SSL/TLS证书并不常见&#xff0c;国内厂商JoySSL有提供IP证书&#xff0c;登录其官网…

东莞MES管理系统在电子工厂的益处

东莞MES管理系统对东莞电子企业带来了许多好处&#xff0c;包括但不限于以下几点&#xff1a; 提高生产效率&#xff1a;MES系统可以优化生产计划、监控生产过程&#xff0c;提高生产效率&#xff0c;减少生产中的浪费和停机时间&#xff0c;提高产能利用率。 优化库存管理&a…

R可视化:另类的柱状图

介绍 方格状态的柱状图 加载R包 knitr::opts_chunk$set(echo TRUE, message FALSE, warning FALSE) library(patternplot) library(png) library(ggplot2) library(gridExtra)rm(list ls()) options(stringsAsFactors F)导入数据 data <- read.csv(system.file(&qu…

M00238-固定翼无人机集群飞行仿真平台MATLAB完整代码含效果

一个小型无人机集群仿真演示平台&#xff0c;使用matlab和simulink搭建。 给出的例子是5架的&#xff0c;当然如果你愿意花时间&#xff0c;也可以把它扩展到10架&#xff0c;20架甚至更多。 输入&#xff1a;5架飞机的规划路径 输出&#xff1a;每架无人机每个时刻的13个状态量…

如何将天猫内容保存为PDF格式?详细步骤与实战解析

新书上架~&#x1f447;全国包邮奥~ python实用小工具开发教程http://pythontoolsteach.com/3 欢迎关注我&#x1f446;&#xff0c;收藏下次不迷路┗|&#xff40;O′|┛ 嗷~~ 目录 一、引言&#xff1a;保存天猫内容的重要性 二、环境准备与工具安装 1. 安装必要的Python包…

2024年电工杯高校数学建模竞赛(B题) 建模解析| 大学生平衡膳食食谱的优化设计

问题重述及方法概述 问题1&#xff1a;膳食食谱的营养分析评价及调整 数学方法&#xff1a;线性规划模型、营养素评价模型、比较分析 可视化数据图&#xff1a;营养素含量表、营养素摄入量对比图、营养素缺乏情况图 问题2&#xff1a;基于附件3的日平衡膳食食谱的优化设计 数…

idea 中配置 Java 注释模板

引言&#xff1a; 在软件工程中&#xff0c;良好的代码注释习惯对于项目的可维护性和可读性至关重要。IntelliJ IDEA&#xff0c;作为一款强大的Java开发IDE&#xff0c;提供了灵活的注释模板配置功能&#xff0c;帮助开发者快速生成规范的代码注释。本文将详细介绍如何在Inte…

2024年上半年信息系统项目管理师下午真题及答案(第二批)

试题一 某项目计划工期为10个月&#xff0c;预算210万元&#xff0c;第7个月结束时&#xff0c;项目经理进行了绩效评估&#xff0c;发现实际完成了总计划进度的70%。项目的实际数据如表所示&#xff1a; 单击下面头像图片领取更多软考独家资料

【Ambari】Docker 安装Ambari 大数据单机版本

目录 一、前期准备 1.1 部署 docker 1.2 部署 docker-compose 1.3 版本说明 二 、镜像构建启动 2.1 系统镜像构建 2.2 安装包源镜像构建 2.3 kdc镜像构建 2.4 集群安装 2.5 容器导出为镜像 三、Ubuntu环境安装测试 3.1 环境准备 3.2 集群容器启动 一、前期准备 1.…

【C++题解】1125. 删除字符串中间的*

问题&#xff1a;1125. 删除字符串中间的* 类型&#xff1a;字符串 题目描述&#xff1a; 输入一个字符串&#xff0c;将串前和串后的*保留&#xff0c;而将中间的 * 删除。 输入&#xff1a; 一个含*的字符串。 输出&#xff1a; 删除了串中的*的字符串。 样例&#xf…

夏日防晒笔记

1 防晒霜 使用方法&#xff1a;使用前上下摇晃瓶身4至5次&#xff0c;在距离肌肤10至15cm处均匀喷上。如在面部使用&#xff0c;请先喷在掌心再均匀涂抹于面部。排汗量较多时或擦拭肌肤后&#xff0c;请重复涂抹以确保防晒效果。卸除时使用普通洁肤产品洗净即可。

C++:STL容器的学习-->string

C:STL容器的学习-->string 1. 构造方法2. string的赋值操作3. string字符串的拼接4. string 查找和替换5. string字符串的比较6. string字符存取7. string 插入和删除8. string截取 需要添加头文件#include <string> 1. 构造方法 string() 创建空的字符串 string(c…

kafka3.6.1版本学习

kafka目录结构 bin linux系统下可执行脚本文件 bin/windows windows系统下可执行脚本文件 config 配置文件 libs 依赖类库 licenses 许可信息 site-docs 文档 logs 服务日志 启动ZooKeeper 进入Kafka解压缩文件夹的config目录&#xff0c;修改zookeeper.properties配置文件 #t…

深度学习模型在OCR中的可解释性问题与提升探讨

摘要&#xff1a; 随着深度学习技术在光学字符识别&#xff08;OCR&#xff09;领域的广泛应用&#xff0c;人们对深度学习模型的可解释性问题日益关注。本文将探讨OCR中深度学习模型的可解释性概念及其作用&#xff0c;以及如何提高可解释性&#xff0c;使其在实际应用中更可…

企业微信hook接口协议,ipad协议http,语音转文字

语音转文字 参数名必选类型说明uuid是String每个实例的唯一标识&#xff0c;根据uuid操作具体企业微信msgid是int要转文字的语音消息id 请求示例 {"uuid":"a4ea6a39-4b3a-4098-a250-2a07bef57355","msgid":1063645 } 返回示例 {"data&…

App Inventor 2 Encrypt.Security 安全性扩展:MD5哈希,SHA/AES/RSA/BASE64

这是关于App Inventor和Thunkable安全性的扩展&#xff0c;它提供MD5哈希&#xff0c;SHA1和SHA256哈希&#xff0c;AES加密/解密&#xff0c;RSA加密/解密&#xff0c;BASE64编码/解码方法。 权限 此扩展程序不需要任何权限。 事件 OnErrorOccured 抛出任何异常时将触发此事件…

20240527画图-筛选较长、均长、正交的基向量

1. LLM网址和prompt deepseek网址 prompt 请用python写出以下程序&#xff1a; 1、在x属于&#xff08;0&#xff0c;1920&#xff09;、y属于&#xff08;0&#xff0c;1080&#xff09;范围内&#xff0c;随机生成100个点&#xff0c;并画图 2、从这些点中选取3个点&#…

CC1链补充-LazyMap

前言 在我们上一篇中详细分析了CC1链&#xff0c;但是在CC1链中还有一条链就是LazyMap类 1.安装和CC1核心 环境安装的详情可以见上篇CC1分析的第二部分&#xff0c;环境搭建部分 两条不同的路线其实第一步核心都是相同的&#xff0c;执行类都是Tansformer接口和实现类&#…

操作系统 - 进程与线程

进程与线程 考纲内容 进程与线程 进程与线程的基本概念&#xff1b;进程/线程的状态与转换 线程的实现&#xff1b;内核支持的线程&#xff0c;线程库支持的线程 进程与线程的组织与控制 进程间通信&#xff1b;共享内存&#xff0c;消息传递&#xff0c;管道CPU调度与上下文…

VectorDBBench在windows的调试

VectorDBBench在windows的调试 VectorDBBench是一款向量数据库基准测试工具&#xff0c;支持milvus、Zilliz Cloud、Elastic Search、Qdrant Cloud、Weaviate Cloud 、 PgVector、PgVectorRS等&#xff0c;可以测试其QPS、时延、recall。 VectorDBBench是一款使用python编写的…