大家好!我是职场程序猿,感谢您阅读本文,欢迎一键三连哦。
🎀 当前专栏:基于Python的毕业设计
精彩专栏推荐👇🏻👇🏻👇🏻
目录
一、项目简介
本系统使用Python语言和MySQL数据库开发,为学校的网络管理部门提供了言论分析、言论管理、用户管理等多种功能,让用户不需要再繁琐的查看每个人的微博帐号就可以进行以自己学校为关键词的言论分析和管理,在保障了大学生们的隐私权和言论自由权的同时,可以最大效率地查看和本学校有关的舆情或负面评论。
二、系统设计
2.1软件功能模块设计
本系统的主要用户是学校负责舆情监控的管理人员,本系统允许多个用户同时使用,也就是说用户可以有多个,但管理员用户只有一个。系统的功能主要是对校园内学生的微博言论进行分析,所有的言论会进行数据的展示,也可以使用饼状统计图进行更直观的显现,如果发现有20%以上的负面信息会进行及时的预警,除此之外用户还可以对自己的个人信息比如密码进行维护,管理员用户可以管理其他的用户信息,可以修改或删除系统中现有的用户。系统结构图如下所示:
2.2数据库设计
(1)用户信息表,用户注册之后的个人信息会存储在此表中。这个表中的用户ID应设置为主键,除此之外还要有用户名、密码、注册时间等列。
(2)言论分类及言论信息表,经过爬取收集到的言论的信息都会保存在此表中,设置两张表的目的是可以使用分类表管理言论的种类,使用言论信息表来详细的管理产品的信息。
(3)言论管理信息表,这张表主要存储系统中的言论管理信息,当用户或管理员用户对收集到的言论信息进行查看或者管理时就需要对此表进行操作。此外,本信息表中应设置一列来反映当前言论的管理状态,如未处理、已处理等。
(4)站内新闻表,站内新闻表用来保存本系统内的站内新闻信息,管理员会定期对本表进行维护,让用户看到最新的新闻。
三、系统项目部分截图
3.1首页展示
用户在输入正确的域名后即可访问本系统,不过用户在注册用户之前只能访问系统公告及站内新闻等信息。本系统的首页使用上中下结构,头部为导航,中间部分的左侧为当前的用户信息,除此之外还能显示当前的日期和天气,右侧为当前系统内的总发言数、总用户数等数据。
3.2登录注册
未进行注册的用户无法使用本系统的所有功能,只有经过一系列表单验证后完成注册拥有自己的账号之后才可以进行登录,进而使用所有的功能。
3.3言论分析
用户登录首页后点击上方的言论分析即可进入本功能,进入后可以查看系统的所有言论的统计,有柱状图和饼图两种统计方式,点击某一种言论就可以进入言论详情信息,具体操作如下:
3.4 言论管理
言论管理功能是本系统最核心的功能,用户可以通过言论的关键词进行搜索和爬虫,在搜索和爬虫后可以看到当下微博中的所有包含关键词的言论信息,可以某一条言论的具体内容及是否为消极言论等,如果通过分析检测到为消极言论,用户可以通过最后一列将其删除。具体界面如下:
个人信息查看
在首页上方的导航栏中有个人信息的超链接按钮,点击个人信息后即可进入本页面,用户在此界面上可以查看到当前账户的ID、姓名、联系方式和最后登录时间等信息。具体界面如下:
密码修改模块
不管是普通用户还是管理员在本系统中扮演着至关重要的角色,比如管理员可以对所有用户信息进行管理,普通用户可以及时发现并删除一些发表不当的负面言论,这对学生自己和对学校都是非常重要的。所以说用户的信息安全是非常重要的。在本模块中,用户可以定期修改自己的密码,具体操作界面如下:
注册用户管理模块
管理员在登录系统后台之后可以通过本功能对用户信息进行查看和管理,可以查看用户的帐号、密码及其他基本的个人信息,还能为用户进行权限的设置,用户没有权限的时候是无法进行言论管理的,除此之外,如果用户违反了网站的相关规定,管理员可以对用户进行删除。
用户管理模块分为两个功能,首先是可以进行用户的创建,在输入用户的姓名、密码和手机号的信息后即可进行新用户的添加。新添加的用户可以通过数据列表上方的搜索栏进行搜索,输入用户的姓名就可以查看到指定的数据信息,如果用户的信息发生了改变,比如更换了手机号时就可以点击列表最右边的修改进行用户数据的更新。操作界面如下图:
四、论文目录
1 绪论 1
1.1 课题研究背景及意义 2
1.2 国内外研究现状及发展趋势 2
1.3 本文的研究思路与结构 2
2 开发工具及技术 2
2.1 B/S结构的介绍 2
2.2 Python技术的介绍 2
2.3 HTML技术的介绍 2
2.4 MYSQL数据库的介绍 3
2.5 开发环境的介绍 3
3 需求分析 4
3.1 可行性分析 4
3.2 功能需求分析 4
3.3 非功能需求分析 4
4 总体设计 6
4.1 系统总体结构设计 6
4.2 系统的数据库设计 6
5 系统功能实现 6
5.1 首页展示 6
5.2 用户登录注册 6
5.3 言论分析 6
5.4 言论管理 6
5.5 个人信息查看 6
5.6 密码修改 6
5.7 用户管理 6
6 系统测试 6
6.1 测试目的 6
6.2 测试内容 6
6.3 测试总结 6
结语 16
参考文献 17
致谢 18
五、部分核心代码
"""
Django settings for public_sentiment project.
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/
"""
from pathlib import Path
import os
# Build paths inside the project 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-^*)*9j84&!u0ma3t=1(@szrp3%86zn7c24e*p&7u2xn_($gd1u'
# 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',
'app',
'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',
]
ROOT_URLCONF = 'public_sentiment.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',
],
},
},
]
WSGI_APPLICATION = 'public_sentiment.wsgi.application'
# Database
# https://docs.djangoproject.com/en/3.2/ref/settings/#databases
DATABASES = {
'default': {
'ENGINE': 'django.db.backends.mysql',
'NAME': 'public_sentiment',
'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',
},
]
# Internationalization
# https://docs.djangoproject.com/en/3.2/topics/i18n/
LANGUAGE_CODE = 'zh-hans'
TIME_ZONE = 'Asia/Shanghai'
USE_I18N = True
USE_L10N = True
STATIC_URL = '/static/'
STATICFILES_DIRS=(
os.path.join(BASE_DIR, 'static'),
)
MEDIA_ROOT = os.path.join(BASE_DIR,'static')
# Default primary key field type
# https://docs.djangoproject.com/en/3.2/ref/settings/#default-auto-field
DEFAULT_AUTO_FIELD = 'django.db.models.BigAutoField'
获取源码或论文
源码下载地址
https://download.csdn.net/download/m0_46388260/87921405
如需对应的论文或源码,也可下方联系我。