一、个人简介
💖💖作者:计算机编程果茶熊 💙💙个人简介:曾长期从事计算机专业培训教学,担任过编程老师,同时本人也热爱上课教学,擅长Java、微信小程序、Python、Golang、安卓Android等多个IT方向。会做一些项目定制化开发、代码讲解、答辩教学、文档编写、也懂一些降重方面的技巧。平常喜欢分享一些自己开发中遇到的问题的解决办法,也喜欢交流技术,大家有技术代码这一块的问题可以问我! 💛💛想说的话:感谢大家的关注与支持! 💜💜 网站实战项目 安卓/小程序实战项目 大数据实战项目 计算机毕业设计选题 💕💕文末获取源码联系计算机编程果茶熊
二、系统介绍
开发语言:Java+Python 数据库:MySQL 系统架构:B/S 后端框架:SpringBoot(Spring+SpringMVC+Mybatis)+Django 前端:Vue+HTML+CSS+JavaScript+jQuery
《Python课程智能问答系统》是一套基于Django框架开发的教学辅助平台,结合了Java与Python两个版本,数据库采用MySQL,前端以Vue+ElementUI为主,整体架构为B/S模式。系统主要围绕课程知识点的学习、问题解答与测试训练展开,提供了用户管理、知识类型管理、学习资料管理、试题库管理、在线测试、交流论坛及考试管理等功能模块。与传统课程管理系统相比,本系统更强调“智能问答”与“知识点分类”的结合,能够支持学生在学习过程中随时提出问题并获得系统反馈,同时通过题库和测试模块进行巩固。教师端能够方便地管理题库与学习资源,维护课程知识类型,并借助论坛交流模块实现互动。本系统结构清晰,功能覆盖学习过程的多个关键环节,技术实现上兼顾了Django的快速开发与MySQL的稳定支撑,适合在本科毕业设计中展示较完整的软件工程开发流程,能够较好体现学生在前后端协同开发与数据库设计上的综合能力。
三、Python课程智能问答系统-视频解说
《2026计算机毕业设计选题推荐:基于Django的Python课程智能问答系统》
四、Python课程智能问答系统-功能展示
五、Python课程智能问答系统-代码展示
from pyspark.sql import SparkSession
from django.http import JsonResponse
from django.views import View
from django.contrib.auth.hashers import check_password, make_password
from .models import User, Question, TestRecord
spark = SparkSession.builder.appName("PythonQA").getOrCreate()
class UserLoginView(View):
def post(self, request):
username = request.POST.get("username")
password = request.POST.get("password")
user = User.objects.filter(username=username).first()
if not user:
return JsonResponse({"code": 404, "msg": "用户不存在"})
if not check_password(password, user.password):
return JsonResponse({"code": 401, "msg": "密码错误"})
if not user.is_active:
return JsonResponse({"code": 403, "msg": "用户已被禁用"})
request.session["user_id"] = user.id
request.session["role"] = user.role
data = {"id": user.id, "username": user.username, "role": user.role}
return JsonResponse({"code": 200, "msg": "登录成功", "data": data})
class QuestionManageView(View):
def post(self, request):
content = request.POST.get("content")
answer = request.POST.get("answer")
qtype = request.POST.get("type")
if not content or not answer:
return JsonResponse({"code": 400, "msg": "题目内容或答案不能为空"})
q = Question(content=content, answer=answer, qtype=qtype)
q.save()
return JsonResponse({"code": 200, "msg": "题目添加成功", "id": q.id})
def get(self, request):
qtype = request.GET.get("type")
if qtype:
questions = Question.objects.filter(qtype=qtype)
else:
questions = Question.objects.all()
result = [{"id": q.id, "content": q.content, "answer": q.answer} for q in questions]
return JsonResponse({"code": 200, "data": result})
class TestSubmitView(View):
def post(self, request):
user_id = request.session.get("user_id")
answers = request.POST.get("answers")
if not user_id:
return JsonResponse({"code": 403, "msg": "用户未登录"})
if not answers:
return JsonResponse({"code": 400, "msg": "答案不能为空"})
correct_count = 0
total = len(answers)
for qid, ans in answers.items():
q = Question.objects.filter(id=qid).first()
if q and q.answer.strip() == ans.strip():
correct_count += 1
score = int((correct_count / total) * 100)
record = TestRecord(user_id=user_id, score=score, total=total)
record.save()
return JsonResponse({"code": 200, "msg": "提交成功", "score": score})
六、Python课程智能问答系统-文档展示
七、END
💕💕文末获取源码联系计算机编程果茶熊