基于Django+Python的房屋信息可视化及价格预测系统设计与实现(带文档)

news/2024/10/30 19:57:36/

项目运行

需要先安装Python的相关依赖:pymysql,Django==3.2.8,pillow 使用pip install 安装

第一步:创建数据库

第二步:执行SQL语句,.sql文件,运行该文件中的SQL语句

第三步:修改源代码中的settings.py文件,改成自己的mysql数据库用户名和密码

第四步:运行命令:python manage.py runserver 8000

第五步:打开浏览器查看http://127.0.0.1:8000

毕设帮助,指导,本源码分享(见文末)

系统介绍:

系统简介

本系统是一个基于Django框架和Python语言开发的房屋信息可视化及价格预测系统,旨在为用户提供房价预测、房屋分析、用户管理等功能。系统通过数据爬取、计算和分析,帮助用户了解房价走势,避免在房价最高时入场,造成不必要的经济损失。

整体功能包含:
  • 用户注册与登录
  • 房价预测
  • 房屋信息管理
  • 房屋数据分析
  • 个人信息查看与维护
前台模块:
  • 首页展示:展示系统公告、站内新闻、房价预测信息等。
  • 房价预测:用户输入房屋相关信息,系统进行价格预测。
  • 房屋信息展示:展示系统中所有房屋的预测数据。
后台模块:
  • 用户管理:管理员可以查看、修改或删除用户信息。
  • 房屋信息管理:管理房屋数据,包括添加、删除和修改。
  • 数据分析:对房屋数据进行分析,生成图表。

功能截图:

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

在这里插入图片描述

代码实现:

python">
def register(request):"""注册账号:return:"""try:name = request.POST.get('username')passwd = request.POST.get('password')phone = request.POST.get('phone')user = User.objects.filter(name=name)if user:return JsonResponse({'message': '用户已存在,请直接登录'}, status=403)User.objects.create(name=name,password=passwd,phone=phone,role=2,description='')response_data = {'message': '注册成功'}return JsonResponse(response_data)except Exception as e:print(e)return JsonResponse({'message': '注册失败'}, status=401)def password(request):username = request.session['username']role = int(request.session['role'])user_id = request.session['user_id']return render(request, 'modify_password.html', locals())def get_user(request):"""获取用户列表信息 | 模糊查询:param request::return:"""keyword = request.GET.get('name')page = request.GET.get("page", '')limit = request.GET.get("limit", '')role_id = request.GET.get('position', '')response_data = {}response_data['code'] = 0response_data['msg'] = ''data = []if keyword is None:results_obj = User.objects.all()else:results_obj = User.objects.filter(name__contains=keyword).all()paginator = Paginator(results_obj, limit)results = paginator.page(page)if results:for user in results:record = {"id": user.id,"name": user.name,"password": user.password,"phone": user.phone,"role": user.role,'create_time': user.create_time.strftime('%Y-%m-%d %H:%m:%S'),"desc": user.description,}data.append(record)response_data['count'] = len(results_obj)response_data['data'] = datareturn JsonResponse(response_data)def user(request):"""跳转用户页面"""username = request.session['username']role = int(request.session['role'])user_id = request.session['user_id']return render(request, 'user.html', locals())def login_check(request):"""登录校验"""response_data = {}name = request.POST.get('username')password = request.POST.get('password')user = User.objects.filter(name=name, password=password).first()info = {}if user:# 将用户名存入session中request.session["username"] = user.namerequest.session["role"] = user.rolerequest.session["user_id"] = user.idresponse_data['message'] = '登录成功'return JsonResponse(response_data, status=201)else:return JsonResponse({'message': '用户名或者密码不正确'}, status=401)def edit_user(request):"""修改用户"""response_data = {}user_id = request.POST.get('id')username = request.POST.get('username')phone = request.POST.get('phone')desc = request.POST.get('desc')User.objects.filter(id=user_id).update(name=username,desc=desc,phone=phone)response_data['msg'] = 'success'return JsonResponse(response_data, status=201)def del_user(request):"""删除用户"""user_id = request.POST.get('id')result = User.objects.filter(id=user_id).first()try:if not result:response_data = {'error': '删除失败!', 'message': '找不到id为%s' % user_id}return JsonResponse(response_data, status=403)result.delete()response_data = {'message': '删除成功!'}return JsonResponse(response_data, status=201)except Exception as e:response_data = {'message': '删除失败!'}return JsonResponse(response_data, status=403)def change_password(request):"""修改密码"""old_pwd = request.POST.get('password1')username = request.session["username"]user_obj = User.objects.filter(name=username).first()if user_obj.password == old_pwd:User.objects.filter(name=username).update(password=request.POST.get('password2'))return JsonResponse({'msg': '修改成功!', 'error': 0})else:return JsonResponse({'msg': '旧密码不正确,请重新输入', 'error': 403})

论文参考:

在这里插入图片描述

源码获取:


http://www.ppmy.cn/news/1543174.html

相关文章

BGP路径属性与路由反射器

前言 IBGP水平分割规则用于防止AS内部产生环路,在很大程度上杜绝了IBGP路由产生环路的可能性,但是同时也带来了新的问题:BGP路由在AS内部只能传递一跳,如果建立IBGP对等体全互联模型又会加重设备的负担。 BGP 路径属性 AS_Path …

为什么不建议使用黑帽SEO手法?

黑帽SEO,是指采用一些违反谷歌搜索引擎规则的手段,短期内提升排名的做法。很多不法SEO服务商,会通过隐藏文字、伪造内容、堆砌关键词、群发垃圾外链等方式,让网站在短时间内获得大量流量和排名。 虽然这种方式看似有效&#xff0c…

一些小细节代码笔记汇总

Python cv2抓取摄像头图片保存到本地 import cv2 import datetime, ossavePath "E:/Image/"if not os.path.exists(savePath):os.makedirs(savePath)cap cv2.VideoCapture(0) capture Falseif not cap.isOpened():print("无法打开摄像头")exit()while…

oracle获取中文拼音/WB

1.oracle获取中文拼音首字母 CREATE OR REPLACE FUNCTION FUNC_GET_PY(z varchar2) RETURN varchar2 ISpy varchar2(20); --与源字符对应的拼音码curr_no integer; --当前字符序号maxlen integer; --z(源字符串)的最大长度l_schar varchar2(100); --截取后的源字符…

Github优质项目推荐(第八期)

文章目录 Github优质项目推荐 - 第八期一、【manim】,66.5k stars - 创建数学动画的 Python 框架二、【siyuan】,19.5k stars - 个人知识管理软件三、 【GetQzonehistory】,1.3k stars - 获取QQ空间发布的历史说说四、【SecLists】&#xff0…

emacs修改xml文件编码

最近修改了一个老Java项目,数据库中文乱码导致某些页面没有数据。查看处理数据库内容的XML文件的编码有GBK、GB2312、UTF-8,乱成一锅粥。为了统一成UTF-8,需要进入jar包修改XML文件。尝试过解jar包改编码再重新打jar包500的错误后&#xff0c…

C语言之长整型有符号数与短整型有符号数转换

最近考证的新星,问了一个问题:int a 1234565789;为什么在输出%hd时的值为-1379?其实这个很简单,只不过对于可能初入“编程坑”以及经验不是很丰富的朋友来说,感觉知道这么个道理,但就是解释不上来&#xf…

Hadoop生态圈框架部署(一)- Linux操作系统安装及配置

文章目录 前言一、下载CentOS镜像1. 下载 二、创建虚拟机hadoop1三、CentOS安装、克隆与配置1. 安装CentOS2. 根据虚拟机hadoop1克隆出虚拟机hadoop23. 根据虚拟机hadoop1克隆出虚拟机hadoop34. 配置虚拟网络及虚拟网卡4.1 配置虚拟网络4.1 配置虚拟网卡 5. 安装 SSH 远程连接工…