Python在线考试系统,采用django框架开发,可微信登录,内含使用说明 。

  1. 系统环境
    Linux发行版(Ubuntu16.04 / CentOS等)
    MySQL 5.5以上版本
    Python3.5以上版本
    Redis任意新版本即可
    Django版本2.1

  2. 配置文件
    在项目根目录下的config文件夹中,新建一个local_settings.py文件
    添加如下配置,注意python文件的严格缩进,不能多或少空格:

MySQL配置

DATABASES = {
‘default’: {
‘ENGINE’: ‘django.db.backends.mysql’,
‘NAME’: ‘xx’,
‘USER’: ‘xxx’,
‘PASSWORD’: ‘xxx’
}
}

Redis配置

REDIS = {
‘default’: {
‘HOST’: ‘127.0.0.1’,
‘PORT’: 6379,
‘USER’: ‘’,
‘PASSWORD’: ‘’,
‘db’: 0,
}
}
BANK_REPO = ’ F:/PythonProject/exam/backup ’ # 修改为存放excel题库的位置,用来保留题库
BASE_NUM_ID = 100000
INIT_PASSWORD = ‘p@ssw0rd’
DOMAIN = “http://xxx.xx.xx.xxx” #### 需要修改此处域名
WEB_INDEX_URI = “{}/web/index”.format(DOMAIN) # 首页

发送邮件

EMAIL_BACKEND = ‘django.core.mail.backends.smtp.EmailBackend’ # 邮箱验证后台
EMAIL_USE_TLS = True # 使用TSL
EMAIL_USE_SSL = False # 使用SSL
EMAIL_SSL_CERTFILE = None # SSL证书
EMAIL_SSL_KEYFILE = None # SSL文件
EMAIL_TIMEOUT = None # 延时
EMAIL_HOST = ‘xxx.xxx@xx.xxx’ SMTP地址
EMAIL_PORT = 465 # 端口
EMAIL_HOST_USER = ‘xxx@xxx.xx’ # 发件邮箱
EMAIL_HOST_PASSWORD = ‘password’ # 密码
SERVER_EMAIL = EMAIL_HOST_USER # 服务器邮箱
DEFAULT_FROM_EMAIL = EMAIL_HOST_USER # 默认发件人
ADMINS = [(‘Admin’, ‘xxx@xxx.xx’)] # 管理员邮箱

MANAGERS = ADMINS
3.安装环境
创建虚拟环境:
virtualenv venv
等待虚拟环境创建完成执行:
venv/bin/activate
然后安装项目所需安装包
pip install -r requirements.txt
安装过程如果发现错误,解决错误,直到所有文件安装完成。
4.创建数据库
执行命令连接数据库
mysql -uroot -p密码
创建数据库:
Create database 数据库名 default character set utf8;
然后执行:
python manage.py migrate # 迁移数据库,创建数据表
继续创建超级用户:
python manage.py createsuperuser
创建完成整个系统部署完成了。
运行截图:

主要程序

def registry_biz(request):email = request.POST.get('email', '')  # 获取填写的邮箱name = request.POST.get('name', '')  # 获取填写的机构名username = request.POST.get('username', '')  # 获取填写的机构联系人phone = request.POST.get('phone', '')  # 获取填写的手机号ctype = request.POST.get('type', BusinessAccountInfo.INTERNET)  # 获取机构类型flag = int(request.POST.get('flag', 2))  # 获取一个标记位,代表用户是创建新用户还是使用绑定老用户的方式uname = email.split('@')[0]  # 和之前的注册逻辑没什么区别,创建一个账户名if not User.objects.filter(username__exact=name).exists():final_name = usernameelif not User.objects.filter(username__exact=uname).exists():final_name = unameelse:final_name = emailif flag == 2:  # 如果标记位是2,那么将为他创建新用户user = User.objects.create_user(username=final_name,email=email,password=settings.INIT_PASSWORD,is_active=False,is_staff=False)if flag == 1:  # 如果标记位是1,那么为他绑定老用户try:user = User.objects.get(email=email)except User.DoesNotExist:return json_response(*UserError.UserNotFound)pvalues = {'phone': phone,'name': final_name,'user_src': Profile.COMPANY_USER,}profile, _ = Profile.objects.select_for_update().get_or_create(email=email)  # 获取或创建用户信息for k, v in pvalues.items():setattr(profile, k, v)profile.save()bizvalues = {'company_name': name,'company_username': username,'company_phone': phone,'company_type': ctype,}biz, _ = BusinessAccountInfo.objects.select_for_update().get_or_create(  # 获取或创建机构账户信息email=email,defaults=bizvalues)return json_response(200, 'OK', {  # 响应JSON格式数据,这个标记位在发送验证邮件的时候还有用'name': final_name,'email': email,'flag': flag})

完整程序代码下载地址:
Python在线考试系统源代码

更多Python源代码下载,请微信关注:Python代码大全

Python在线考试系统源代码相关推荐

  1. ASP.NET网络在线考试系统(源代码+论文)ASP.NET网络商店销售管理系统的设计与实现(源代码+论文)

    引言 1.1开发背景 随着网络技术的飞速发展,网络经济与人们的生活越来越紧密的联系在一起,随着信息技术的发展,网上购物与网上销售也在逐渐发展和普及.消费者与销售商都迫切需要一种简便与高速高效的购物与销 ...

  2. java计算机毕业设计四六级在线考试系统源代码+数据库+系统+lw文档

    java计算机毕业设计四六级在线考试系统源代码+数据库+系统+lw文档 java计算机毕业设计四六级在线考试系统源代码+数据库+系统+lw文档 本源码技术栈: 项目架构:B/S架构 开发语言:Java ...

  3. 基于python的在线考试系统-基于 Python 的电子教室和在线考试系统源代码

    Python 是近年倍受推崇的语言,这里介绍的是两个与教学相关的开源项目.一个是用于计算机教室管理的电子教室系统,第二个是与之关联的在线考试系统,当然,这个系统也可以单列出来.这两个项目还只是个雏形, ...

  4. Python在线考试系统防作弊功能的思路和实现

    我自己用Python开发了一套教学管理软件,具有在线点名.提问.答疑.交作业.自测.在线考试.数据导入导出与汇总.Word试卷生成等多个功能,其中在线考试系统具有防作弊的功能,不少人觉得很神奇,其实思 ...

  5. 基于python的在线考试系统-Python在线考试系统防作弊功能的思路和实现

    我自己用Python开发了一套教学管理软件,具有在线点名.提问.答疑.交作业.自测.在线考试.数据导入导出与汇总.Word试卷生成等多个功能,其中在线考试系统具有防作弊的功能,不少人觉得很神奇,其实思 ...

  6. 计算机毕业设计(附源码)python在线考试系统

    项目运行 环境配置: Pychram社区版+ python3.7.7 + Mysql5.7 + HBuilderX+list pip+Navicat11+Django+nodejs. 项目技术: dj ...

  7. php在线考试系统源代码_php实现在线考试系统

    文章正文 效果图如下: 题库首页展示 试题在线测试 分数统计 通过该小项目目的是练习PHP基础知识,通过对数组操作实现考题信息存储加载,引入模板文件,实现考题数据的调用布局. 1.由于小项目未使用数据 ...

  8. python在线问卷调查系统源代码_基于Python 练习1情况的在线问卷

    Q1. 您每个月的生活费是?(单选题) Q2. 您在职的职位是:(单选题) Q3. 您的家庭背景?(单选题) Q4. 下列哪一个是Python中正确的变量名?()(单选题)A Sprout*1 B 1 ...

  9. python在线考试系统_基于Django的在线考试系统

    项目目录结构: account为扩展的Django用户模块 analysis为用户答题分析模块 api为接口路由 business为机构配置信息模块 competition为比赛核心模块 config ...

  10. 数据分析毕业设计 Django在线考试系统 - python

    # 1 课题背景 随着计算机技术的不断发展,越来越多智能手段代替了传统依靠大量人力.物力才能解决的问题.目前,Java认证.DB2认证.全国计算机等级考试等均采用了在线考试的方式进行.Python作为 ...

最新文章

  1. AI新海诚就是在下,不信来玩
  2. Spark基础:(六)Spark SQL
  3. 云痕大数据 家长登录_云痕家长app
  4. [Python图像处理] 五.图像融合、加法运算及图像类型转换
  5. 条件随机场 python_用条件随机场做网络小说命名实体识别
  6. JArchitect v4.0发布
  7. C--数据结构--树的学习
  8. jsp学习笔记 - 内置对象 session
  9. 分享开发HTML5手机游戏的5个注意要点
  10. python中的and_我想问下python中 逻辑与:“”和“and”的区别
  11. 小强地狱(Bug Hell)——优先级和缺陷修改的平衡
  12. [Java]方法递归——经典案例
  13. OpenWrt路由器WIFI开启13信道
  14. 我的vscode插件和setting设置(解决vscode保存出现提示运行“XXX“的保存参与者: 快速修复“的问题;二来修复“明明开启的是去分号和单引号,自动保存又自动添加了分号和双引号)
  15. 美国的非农数据一般会在几点发布
  16. php 导出excel 进度条显示
  17. Struts2的学习 主要是知识点和基础知识
  18. Pathfinding 模板题 /// BFS oj21413
  19. 从经济学博士到爬坑机器学习十年,微软首席数据科学家谢梁的AI故事
  20. WPS 2019好用吗?

热门文章

  1. 创客匠人直播升级服务,打造主流直播课堂​
  2. Linux命令之find命令
  3. 机器学习实战 2.3获取数据
  4. johnson算法(johnson算法最优顺序怎么算)
  5. 知网中的硕博论文是caj格式,如何用CAJ转PDF?
  6. 怎样在计算机上注册dll文件,注册dll文件【搞定步骤】
  7. 一周信创舆情观察(11.1~11.7)
  8. @C/C++ 运行后的dos窗口的暂停
  9. Dos窗口文字背景颜色设置
  10. Zabbix SNMP traps使用