基于Django图像识别系统毕业设计(付源码)

2024-05-09 13:12

本文主要是介绍基于Django图像识别系统毕业设计(付源码),希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

 前言:Django是一个由Python编写的具有完整架站能力的开源Web框架,Django本身基于MVC模型,即Model(模型)+View(视图)+ Controller(控制器)设计模式,因此天然具有MVC的出色基因:开发快捷、部署方便、可重用性高、维护成本低等。Python加Django是快速开发、设计、部署网站的最佳组合。

目录

一.Django安装与使用

1.1环境准备

1.2创建虚拟环境

二.配置Pycharm解析器

2.1Pycharm配置

2.2settings.py配置

2.3manage.py配置

三.核心代码

四.源码获取


一.Django安装与使用

1.1环境准备

Pycharm下载地址:Pycharm 点此链接下载,选好安装路径,直接下一步,finish

Miniconda下载地址:Miniconda 安装下图的版本即可

 

 1.2创建虚拟环境

①打开刚下好的Aanconda,输入命令Conda create -n AI python=3.8(以AI为例)

 

②使用conda env list 命令可以查看下载的虚拟环境

 

③使用conda activate AI 命令,进入虚拟环境,补充使用D:命令可以切换硬盘

 

④虚拟环境下输入命令django-admin startproject myDjango (myDjango项目名)创建Django项目

⑤使用命令cd myDjango  进入项目

⑥使用命令python manage.py runserver 启动项目,访问127.0.0.1:8000 如下图即成功

二.配置Pycharm解析器

2.1Pycharm配置

①点击File->settings->项目->Python Interpreter->选择创建的虚拟环境 

2.2settings.py配置

①用Pycharn打开前面创建的项目目录,找到ALLOWED_HOSTS =['127.0.0.1','ip地址']

 

 以管理员身份运行cmd,输入命令ipconfig 就可以查看ip地址,输入ipv4的地址

 ②settings.py里面配置路径,templates 是我创建的文件夹用来存放html资源,构建页面的

③static用来存放静态资源,如css,js,img。session是存储于服务器端的特殊对象,服务器会为每一个游览器创建一个唯一的session。这个session是服务器端共享,每个游览器(客户端)独享的。session存储数据,实现数据共享。

 2.3manage.py配置

 ①在Parameters中输入 runserver 0.0.0.0:8000

 到这里,Django配置已经完成,接下来就可以编写代码了,实现相应的功能

三.核心代码

①登录页面完整代码

<!DOCTYPE html>
<html lang="en">
<head><meta charset="utf-8"><meta name="viewport" content="width=device-width, initial-scale=1.0, maximum-scale=1.0"><meta name="description" content=""><meta name="author" content="ThemeBucket"><link rel="shortcut icon" href="#" type="image/png"><title>Login</title><link href="../static/css/style.css" rel="stylesheet"><link href="../static/css/style-responsive.css" rel="stylesheet"><!-- HTML5 shim and Respond.js IE8 support of HTML5 elements and media queries --><!--[if lt IE 9]><script src="../static/js/html5shiv.js"></script><script src="../static/js/respond.min.js"></script><![endif]-->
</head><body class="login-body"><div class="container"><form class="form-signin" id="login_form" >{% csrf_token %}<div class="form-signin-heading text-center"><h1 class="sign-title">基于django的草药识别系统</h1><img src="../static/images/login-logo.png" alt=""/></div><div class="login-wrap"><input type="text" class="form-control" placeholder="用户名" autofocus name="username" id="username"><input type="password" class="form-control" placeholder="密码" name="pwd" id="pwd"><button class="btn btn-lg btn-login btn-block" type="button" id="submit_btn" disabled><i class="fa fa-check"></i></button><div class="registration">还未是会员?<a class="" href="registration.html">注册</a></div><label class="checkbox"><input type="checkbox" value="remember-me"> 记住我<span class="pull-right"><a data-toggle="modal" href="#myModal"> 忘记密码?</a></span></label></div><!-- Modal --><div aria-hidden="true" aria-labelledby="myModalLabel" role="dialog" tabindex="-1" id="myModal" class="modal fade"><div class="modal-dialog"><div class="modal-content"><div class="modal-header"><button type="button" class="close" data-dismiss="modal" aria-hidden="true">&times;</button><h4 class="modal-title">Forgot Password ?</h4></div><div class="modal-body"><p>Enter your e-mail address below to reset your password.</p><input type="text" name="email" placeholder="Email" autocomplete="off" class="form-control placeholder-no-fix"></div><div class="modal-footer"><button data-dismiss="modal" class="btn btn-default" type="button">Cancel</button><button class="btn btn-primary" type="button">Submit</button></div></div></div></div><!-- modal --></form></div>
<script src="../static/js/jquery-1.10.2.min.js"></script>
<script src="../static/js/bootstrap.min.js"></script>
<script src="../static/js/modernizr.min.js"></script>
<script>function showErrCss(id,msg){$(id).css("border","2px solid red");$("#submit_btn").attr("disabled",true);$(id).val("");$(id).attr("placeholder",msg);}$().ready(function(){var username_state = false;var passwd_state = false;$("#username").blur(function(){if($(this).val() == ''){showErrCss(this,"用户名不能为空,请输入");}else{$(this).css("border","1px solid #eaeaec");username_state = true;if(passwd_state){$("#submit_btn").attr("disabled",false);}}});$("#pwd").blur(function(){if($(this).val() == '' ){showErrCss(this,"密码不能为空,请输入");}else if(! /^(?![0-9]+$)(?![a-zA-Z]+$)[0-9A-Za-z]{6,8}$/.test($(this).val())){showErrCss(this,"密码格式有误,要求6-8位字母+数字");}else{$(this).css("border","1px solid #eaeaec");passwd_state = true;if(username_state){$("#submit_btn").attr("disabled",false);}}});$("#submit_btn").click(function(){$.post("/login/",$("#login_form").serialize(),function(data,statu){if(data.code == 101){window.location.href = "/index/"}else if(data.code == 102){showErrCss("#username",data.msg)}else if(data.code == 103){showErrCss("#pwd",data.msg)}});});});
</script></body>
</html>

②首页页面完整代码

<!DOCTYPE html>
<html lang="en">
<head><meta charset="utf-8"><title>智能服务</title><!--ios7--><link rel="stylesheet" type="text/css" href="../static/js/ios-switch/switchery.css" />
</head><body class="sticky-header"><section><div class="left-side sticky-left-side"><div class="left-side-inner"><!--sidebar nav start--><ul class="nav nav-pills nav-stacked custom-nav"><li class="active"><a href="index.html"><i class="fa fa-home"></i> <span>智能服务</span></a></li><li class="menu-list"><a href=""><i class="fa fa-laptop"></i> <span>视觉智能服务</span></a><ul class="sub-menu-list"><li><a href="blank_page.html">图像识别</a></li><li><a href="boxed_view.html">图像搜索</a></li><li><a href="leftmenu_collapsed_view.html"> 图像鉴定</a></li><li><a href="horizontal_menu.html">视频追踪</a></li></ul></li><li class="menu-list"><a href=""><i class="fa fa-book"></i> <span>语音智能服务</span></a><ul class="sub-menu-list"><li><a href="general.html"> 语音识别</a></li><li><a href="buttons.html"> 语音生成</a></li></ul></li><li class="menu-list"><a href=""><i class="fa fa-book"></i> <span>自然语言智能服务</span></a><ul class="sub-menu-list"><li><a href="general.html"> OCR</a></li><li><a href="buttons.html"> 文字生成</a></li><li><a href="tabs-accordions.html"> 机器翻译</a></li><li><a href="typography.html">智能聊天</a></li></ul></li></ul><!--sidebar nav end--></div></div><!-- left side end--><!-- main content start--><div class="main-content" ><!-- header section start--><div class="header-section"><!--toggle button start--><a class="toggle-btn"><i class="fa fa-bars"></i></a><!--toggle button end--><!--search start--><form class="searchform" action="index.html" method="post"><input type="text" class="form-control" name="keyword" placeholder="Search here..." /></form></div><!-- header section end--><!-- page heading start--><div class="page-heading"><h3>智能服务</h3><ul class="breadcrumb"><li><a href="#">智能服务</a></li><li class="active"> 视觉智能服务 </li></ul><div class="state-info"><section class="panel"><div class="panel-body"><div class="summary"><span>今日访问量</span><h3 class="red-txt">45,600</h3></div><div id="income" class="chart-bar"></div></div></section><section class="panel"><div class="panel-body"><div class="summary"><span>总访问量</span><h3 class="green-txt">45,600</h3></div><div id="expense" class="chart-bar"></div></div></section></div></div><!-- page heading end--><!--body wrapper start--><div class="wrapper"><div class="row"><div class="col-lg-7"><section class="panel"><header class="panel-heading">图像识别<span class="tools pull-right"><a class="fa fa-chevron-down" href="javascript:;"></a><a class="fa fa-times" href="javascript:;"></a></span></header><div class="panel-body"><div class="row"><div class="col-md-8"><form class="form-horizontal bucket-form">{% csrf_token %}<div class="form-group"><label class="col-sm-3 control-label">识别类型</label><div class="col-sm-9 icheck "><div class="flat-grey "><div class="radio "><input tabindex="3" type="radio"  name="demo-radio" value="1"><label>动物识别 </label></div></div><div class="flat-red "><div class="radio "><input tabindex="3" type="radio"  name="demo-radio" value="2"><label>植物识别 </label></div></div><div class="flat-green "><div class="radio "><input tabindex="3" type="radio"  name="demo-radio" value="3"><label>果蔬识别</label></div></div><div class="single-row"></div><div class="flat-blue"><div class="radio "><input tabindex="3" type="radio"  name="demo-radio" value="4"><label>logo识别</label></div></div><div class="flat-yellow "><div class="radio "><input tabindex="3" type="radio"  name="demo-radio" value="5"><label>红酒识别 </label></div></div><div class="flat-purple "><div class="radio "><input tabindex="3" type="radio"  name="demo-radio" value="6"><label>货币识别 </label></div></div></div></div><div class="form-group last"><label class="control-label col-sm-3">图像上传</label><div class="col-sm-9"><div class="fileupload fileupload-new" data-provides="fileupload" style=" margin-left: 20px"><div class="fileupload-new thumbnail" style="width: 200px; height: 150px;"><img src="http://www.placehold.it/200x150/EFEFEF/AAAAAA&amp;text=no+image" alt=""></div><div class="fileupload-preview fileupload-exists thumbnail" style="max-width: 200px; max-height: 150px; line-height: 20px;"></div><div><span class="btn btn-default btn-file"><span class="fileupload-new"><i class="fa fa-paper-clip"></i> 选择图像</span><span class="fileupload-exists"><i class="fa fa-undo"></i> 修改</span><input type="file" class="default" id="file"></span><a href="#" class="btn btn-danger fileupload-exists" data-dismiss="fileupload"><i class="fa fa-trash"></i> Remove</a></div></div><br><div class=" col-lg-10" style="margin-left:5px"><button class="btn btn-primary" type="button" id="btn">提交</button></div></div></div><div class="form-group" style="margin-left:70px"><span class="label label-danger ">注意!</span><span>支持的浏览器包括 Firefox, Chrome, Opera,Safari and IE10</span></div></form></div></div></div></section></div><div class="col-md-5"><div class="panel"><header class="panel-heading">预测结果<span class="tools pull-right"><a href="javascript:;" class="fa fa-chevron-down"></a><a href="javascript:;" class="fa fa-times"></a></span></header><div class="panel-body"><ul class="goal-progress"><li><div class="details"><div class="title"><a href='' id="text1" >结果一</a><div><a href="" id="link">百度百科</a><p id="title"> 详情:</p></div></div><div class="progress progress-xs"><div class="progress-bar progress-bar-info" role="progressbar" aria-valuenow="20" aria-valuemin="0" aria-valuemax="100" id='pros' style="width:0%"><span class="" id="val1"></span></div></div></div></li><li><div class="details"><div class="title"><a href="#" id="text2">结果二</a></div><div class="progress progress-xs"><div class="progress-bar progress-bar-success" role="progressbar" aria-valuenow="20" aria-valuemin="0" aria-valuemax="100" id='pros1' style="width:0%"><span class="" id="val2"></span></div></div></div></li><li><div class="details"><div class="title"><a href="#" id="text3">结果三</a></div><div class="progress progress-xs"><div class="progress-bar progress-bar-warning" role="progressbar" aria-valuenow="20" aria-valuemin="0" aria-valuemax="100" id='pros2' style="width:0%"><span class="" id="val3"></span></div></div></div></li><li><div class="details"><div class="title"><a href="#" id="text4">结果四</a></div><div class="progress progress-xs"><div class="progress-bar progress-bar-danger" role="progressbar" aria-valuenow="20" aria-valuemin="0" aria-valuemax="100" id='pros3' style="width:0%"><span class="" id="val4"></span></div></div></div></li><li><div class="details"><div class="title"><a href="#" id="text5">结果五</a></div><div class="progress progress-xs"><div class="progress-bar progress-bar-success" role="progressbar" aria-valuenow="20" aria-valuemin="0" aria-valuemax="100" id='pros4' style="width:0%"><span class="" id="val5"></span></div></div></div></li></ul></div></div></div></div></div><!--body wrapper end--><!--footer section start--><footer>2023 &copy; 猿来如此 </a></footer><!--footer section end--></div><!-- main content end-->
</section><script>$().ready(function(){$("#btn").click(function(){var formdata = new FormData()formdata.append("typeRadio",$('input:radio:checked').val());formdata.append("csrfmiddlewaretoken",$('[name="csrfmiddlewaretoken"]').val());formdata.append("image",$("#file")[0].files[0]);$.ajax({type:"post",url:"/recongnize/",data:formdata,processData:false,contentType:false,success:function(data,status){alert(data.data.result[0].baike_info.baike_url)alert(data.data.result[0].baike_info.description)var loaded = parseInt(data.data.result[0].score*100)+"%";$('#pros').width(loaded);$("#text1").html(data.data.result[0].name);$("#val1").html(data.data.result[0].score);$("#title").html(data.data.result[0].baike_info.description)$("#link").html(data.data.result[0].baike_info.baike_url)var loaded = parseInt(data.data.result[1].score*100)+"%";$('#pros1').width(loaded);$("#text2").html(data.data.result[1].name);$("#val2").html(data.data.result[1].score);var loaded = parseInt(data.data.result[2].score*100)+"%";$('#pros2').width(loaded);$("#text3").html(data.data.result[2].name);$("#val3").html(data.data.result[2].score);var loaded = parseInt(data.data.result[3].score*100)+"%";$('#pros3').width(loaded);$("#text4").html(data.data.result[3].name);$("#val4").html(data.data.result[3].score);var loaded = parseInt(data.data.result[4].score*100)+"%";$('#pros4').width(loaded);$("#text5").html(data.data.result[4].name);$("#val5").html(data.data.result[4].score);}})})})</script></body>
</html>

 css,html,js,py等文件太多,无法全部展示,篇幅过长会使读者疲惫,只能展示核心代码


四.源码获取

        私信获取源码,有问题可以关注留言或私信,计算机毕业设计(小程序,网页设计,数据库,php开发等)

 

这篇关于基于Django图像识别系统毕业设计(付源码)的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/973515

相关文章

Nginx屏蔽服务器名称与版本信息方式(源码级修改)

《Nginx屏蔽服务器名称与版本信息方式(源码级修改)》本文详解如何通过源码修改Nginx1.25.4,移除Server响应头中的服务类型和版本信息,以增强安全性,需重新配置、编译、安装,升级时需重复... 目录一、背景与目的二、适用版本三、操作步骤修改源码文件四、后续操作提示五、注意事项六、总结一、背景与

Android实现图片浏览功能的示例详解(附带源码)

《Android实现图片浏览功能的示例详解(附带源码)》在许多应用中,都需要展示图片并支持用户进行浏览,本文主要为大家介绍了如何通过Android实现图片浏览功能,感兴趣的小伙伴可以跟随小编一起学习一... 目录一、项目背景详细介绍二、项目需求详细介绍三、相关技术详细介绍四、实现思路详细介绍五、完整实现代码

JWT + 拦截器实现无状态登录系统

《JWT+拦截器实现无状态登录系统》JWT(JSONWebToken)提供了一种无状态的解决方案:用户登录后,服务器返回一个Token,后续请求携带该Token即可完成身份验证,无需服务器存储会话... 目录✅ 引言 一、JWT 是什么? 二、技术选型 三、项目结构 四、核心代码实现4.1 添加依赖(pom

基于Python实现自动化邮件发送系统的完整指南

《基于Python实现自动化邮件发送系统的完整指南》在现代软件开发和自动化流程中,邮件通知是一个常见且实用的功能,无论是用于发送报告、告警信息还是用户提醒,通过Python实现自动化的邮件发送功能都能... 目录一、前言:二、项目概述三、配置文件 `.env` 解析四、代码结构解析1. 导入模块2. 加载环

linux系统上安装JDK8全过程

《linux系统上安装JDK8全过程》文章介绍安装JDK的必要性及Linux下JDK8的安装步骤,包括卸载旧版本、下载解压、配置环境变量等,强调开发需JDK,运行可选JRE,现JDK已集成JRE... 目录为什么要安装jdk?1.查看linux系统是否有自带的jdk:2.下载jdk压缩包2.解压3.配置环境

Python库 Django 的简介、安装、用法入门教程

《Python库Django的简介、安装、用法入门教程》Django是Python最流行的Web框架之一,它帮助开发者快速、高效地构建功能强大的Web应用程序,接下来我们将从简介、安装到用法详解,... 目录一、Django 简介 二、Django 的安装教程 1. 创建虚拟环境2. 安装Django三、创

Linux查询服务器系统版本号的多种方法

《Linux查询服务器系统版本号的多种方法》在Linux系统管理和维护工作中,了解当前操作系统的版本信息是最基础也是最重要的操作之一,系统版本不仅关系到软件兼容性、安全更新策略,还直接影响到故障排查和... 目录一、引言:系统版本查询的重要性二、基础命令解析:cat /etc/Centos-release详

更改linux系统的默认Python版本方式

《更改linux系统的默认Python版本方式》通过删除原Python软链接并创建指向python3.6的新链接,可切换系统默认Python版本,需注意版本冲突、环境混乱及维护问题,建议使用pyenv... 目录更改系统的默认python版本软链接软链接的特点创建软链接的命令使用场景注意事项总结更改系统的默

在Linux系统上连接GitHub的方法步骤(适用2025年)

《在Linux系统上连接GitHub的方法步骤(适用2025年)》在2025年,使用Linux系统连接GitHub的推荐方式是通过SSH(SecureShell)协议进行身份验证,这种方式不仅安全,还... 目录步骤一:检查并安装 Git步骤二:生成 SSH 密钥步骤三:将 SSH 公钥添加到 github

Django中的函数视图和类视图以及路由的定义方式

《Django中的函数视图和类视图以及路由的定义方式》Django视图分函数视图和类视图,前者用函数处理请求,后者继承View类定义方法,路由使用path()、re_path()或url(),通过in... 目录函数视图类视图路由总路由函数视图的路由类视图定义路由总结Django允许接收的请求方法http