首页 > 编程语言 >Python房屋信息可视化及价格预测系统设计与实现

Python房屋信息可视化及价格预测系统设计与实现

时间:2024-03-13 11:33:02浏览次数:27  
标签:房屋信息 settings Python middleware auth django 可视化 contrib True

项目运行

需要先安装Python的相关依赖:requests,pymysql,Django==3.2.8, jieba,scikits_learn,pandas

第一步:创建数据库

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

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

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

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

测试账户

账户: 用户名:admin 密码:123
毕设帮助,指导,本源码分享,调试部署(见文末)

系统介绍:

本系统的主要用户是想要对房价进行了解的人员,本系统允许多个用户同时使用,也就是说用户可以有多个,但管理员用户只有一个。系统的功能主要是对各房屋销售网站上的房屋数据进行分析,所有的房屋可以进行数据的展示,也可以使用饼状统计图进行更直观的显现,除此之外用户还可以对自己的个人信息比如密码进行维护,管理员用户可以管理其他的用户信息,可以修改或删除系统中现有的用户

在这里插入图片描述

功能截图:

编程人员在搭建的开发环境中,会让各种编程技术一起呈现出最终效果。本节就展示关键部分的页面效果。

5.1 管理员功能实现

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

代码实现:

"""
Django settings for school_epidemic school_epidemic.

Generated by 'django-admin startproject' using Django 3.2.8.

For more information on this file, see
https://docs.djangoproject.com/en/3.2/topics/settings/

For the full list of settings and their values, see
https://docs.djangoproject.com/en/3.2/ref/settings/
"""
import os
from pathlib import Path

# Build paths inside the school_epidemic like this: BASE_DIR / 'subdir'.
BASE_DIR = Path(__file__).resolve().parent.parent

# Quick-start development settings - unsuitable for production
# See https://docs.djangoproject.com/en/3.2/howto/deployment/checklist/

# SECURITY WARNING: keep the secret key used in production secret!
SECRET_KEY = 'django-insecure-tp!-oba8k_&by9pw3twb9gnt!2p*llm+q$b0*g!m9k+@myc@e+'

# SECURITY WARNING: don't run with debug turned on in production!
DEBUG = True

ALLOWED_HOSTS = ['*']

# Application definition

INSTALLED_APPS = [
    'django.contrib.admin',
    'django.contrib.auth',
    'django.contrib.contenttypes',
    'django.contrib.sessions',
    'django.contrib.messages',
    'django.contrib.staticfiles',
    'index',
    'user',
]

MIDDLEWARE = [
    'django.middleware.security.SecurityMiddleware',
    'django.contrib.sessions.middleware.SessionMiddleware',
    'django.middleware.common.CommonMiddleware',
    # 'django.middleware.csrf.CsrfViewMiddleware',
    'django.contrib.auth.middleware.AuthenticationMiddleware',
    'django.contrib.messages.middleware.MessageMiddleware',
    'django.middleware.clickjacking.XFrameOptionsMiddleware',
]
# TODO
# project需修改项目名称
ROOT_URLCONF = 'website.urls'

TEMPLATES = [
    {
        'BACKEND': 'django.template.backends.django.DjangoTemplates',
        'DIRS': [os.path.join(BASE_DIR, 'templates')],
        'APP_DIRS': True,
        'OPTIONS': {
            'context_processors': [
                'django.template.context_processors.debug',
                'django.template.context_processors.request',
                'django.contrib.auth.context_processors.auth',
                'django.contrib.messages.context_processors.messages',
            ],
        },
    },
]

# TODO
# project需修改项目名称
WSGI_APPLICATION = 'website.wsgi.application'

#  数据库配置信息
DATABASES = {
    'default': {
        'ENGINE': 'django.db.backends.mysql',
        'NAME': 'house_predict',
        'USER': 'root',
        'PASSWORD': '123456',
        'HOST': '127.0.0.1',
        'PORT': '3306'
    }
}

# Password validation
# https://docs.djangoproject.com/en/3.2/ref/settings/#auth-password-validators

AUTH_PASSWORD_VALIDATORS = [
    {
        'NAME': 'django.contrib.auth.password_validation.UserAttributeSimilarityValidator',
    },
    {
        'NAME': 'django.contrib.auth.password_validation.MinimumLengthValidator',
    },
    {
        'NAME': 'django.contrib.auth.password_validation.CommonPasswordValidator',
    },
    {
        'NAME': 'django.contrib.auth.password_validation.NumericPasswordValidator',
    },
]


#  系统语言
LANGUAGE_CODE = 'zh-hans'

#  系统时区
TIME_ZONE = 'Asia/Shanghai'

USE_I18N = True

USE_L10N = True



CORS_ORIGIN_ALLOW_ALL = True  # 允许所有域名跨域(优先选择)
CORS_ALLOW_CREDENTIALS = True  # 允许携带cookie:

# 配置静态文件路径
STATIC_URL = '/static/'
STATICFILES_DIRS = [
    os.path.join(BASE_DIR, 'static')
]
# 上传图片地址
MEDIA_ROOT = os.path.join(BASE_DIR)

DEFAULT_AUTO_FIELD = 'django.db.models.BigAutoField'

总结

本次设计使用的是Python+MYSQL的开发模式,在结合了自己的生活经验以及对他人进行的调查问卷之后最终完成了系统的开发,并且所有的功能都可以正常使用。在为自己通过的学习可以做出一个完整的项目的同时也在反思自己开发的这个系统有哪些不足,最终发现在以下几个方面还有待提升点:
1、某些模块的代码结构冗余,代码执行效率及可读性较差,某些模块中结构不清晰,经过思考发现可以使用面向对象思想中的继承和多态进行改进。
2、数据库的设计较为单一,并且书写SQL查询语句时只用了连接查询和相关子查询等,这会造成查询较多数据时查询速度慢的问题。改进的方法就是使用存储过程和视图来替代复杂的查询语句。

标签:房屋信息,settings,Python,middleware,auth,django,可视化,contrib,True
From: https://blog.csdn.net/wchg21131/article/details/136674664

相关文章

  • Python学习笔记-Flask实现简单的投票程序
    1.导入flask包 fromflaskimportFlask,jsonify,abort,make_response,request,render_template2.初始化Flask应用:app=Flask(__name__)3. 定义投票种类data=[{'id':0,'name':'劳动节','num':0},{'id':1,'name&#......
  • python_base
    python基础输入输出print(self,*args,sep='',end='\n',file=None)变量python中同一个字符串重复使用,分配的内存地址相同。del删除变量python可以直接交换变量的值,实际是交换变量的地址。多个变量赋相同值对应相同地址,修改其中一个变量内容不影响其它变量的值。标......
  • 43_Docker可视化工具
    portainer安装dockerrun-d-p8000:8000-p9000:9000\--nameportainer\--restart=always\-v/var/run/docker.sock:/var/run/docker.sock\-vportainer_data:/data\portainer/portainer#IP:9000进入容器监控三剑客docker-comp......
  • Python 爬虫零基础教程(1):爬单个图片
    代码:importrequestsurl='https://cdn.pixabay.com/photo/2018/01/04/07/59/salt-3060093_960_720.jpg'data=requests.get(url).contentf=open('1.jpg','wb')f.write(data)f.close()print('OK')解释代码变量代码中的ur......
  • 【python】生成对数正态分布样本并画出PDF和CDF图
    """CreatedonTueMar1222:09:092024@author:zhang"""importnumpyasnpfromscipyimportstatsimportmatplotlib.pyplotaspltmean,std=1,0.3sample_size=2000#logNormdistributionsamples=np.exp(stats.norm.rvs(me......
  • 从入门到入魔,100个Python实战项目练习(附答案)!
    大家好,我是彭涛。之前给大家整理的资料,都是理论性的,虽然每一个知识点都给出了对应的示例代码,但是好多人还是感觉有一点点杂乱,如果有系统的实战项目练习就好了。所以,应大家的需求,我们为大家搜集了一份Python从入门到进阶的实战案例合集,总共100个,70多页。资料内容不仅给......
  • Python 分析— 使用 LeuvenMapMatching 包进行地图匹配用于道路导航
        在道路导航中,我们有了街道网络地图。轨迹/GPS数据必须与街道相匹配才能进行导航,因为GPS读数提供纯粹的纬度和经度坐标,但我们想知道车辆行驶的具体道路。        我首先尝试了一种简单的方法来匹配点,将每个点独立地匹配到最近的路段。如果没有道路,只需......
  • 20个Python random模块的代码示例
    本文分享自华为云社区《Python随机数探秘:深入解析random模块的神奇之处》,作者:柠檬味拥抱。标准库random函数大全:探索Python中的随机数生成随机数在计算机科学和数据科学领域中扮演着重要角色,Python的标准库中提供了random模块,用于生成各种随机数。本篇博客将深入探讨random模块......
  • python软件安装
    WelcometoPython.org一:打开这个网址(如下图所示)二:点击下方图标将会跳转到下面这个页面三:将页面翻到下图位置随便选择一个版本下载即可(尽量选择低于最新版本的几个版本)四:安装这个软件在cmd里面,输入python,出来这个结果,即为安装成功......
  • 【算法训练营】最长公共子序列,倒水问题,奶牛吃草(Python实现)
    最长公共子序列时间限制:1sec空间限制:256MB问题描述给定两个1到n的排列A,B(即长度为n的序列,其中[1,n]之间的所有数都出现了恰好一次)。求它们的最长公共子序列长度。输入格式第一行一个整数n,意义见题目描述。第二行n个用空格隔开的正整数A[1],…,......