PythonWeb开发基础教程-第9章-Python在线题库课件_第1页
PythonWeb开发基础教程-第9章-Python在线题库课件_第2页
PythonWeb开发基础教程-第9章-Python在线题库课件_第3页
PythonWeb开发基础教程-第9章-Python在线题库课件_第4页
PythonWeb开发基础教程-第9章-Python在线题库课件_第5页
已阅读5页,还剩21页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、Python Web开发基础教程(Django版)第9章 Python在线题库本章主要内容:项目设计项目实现数据管理实现试卷导出9.1 项目设计本节主要内容功能分析数据库设计9.1.1功能分析Python在线题库主要具有试题管理、试卷模板定制和试卷导出等功能。试题管理:具有试题管理权限的用户可以添加、修改和删除题库中的试题。试卷定制模板:具有试卷定制权限的用户可以设置各种类型的试题在试卷中的数量和分值,后台根据设置随机抽题生成试卷。试卷导出:预览试卷内容、下载试卷Word文件。9.1.2数据库设计Python在线题库主要包含4个数据表:试题类型表、试题表、试卷模板表和试卷内容表。试题类型表:保

2、存试题类型名称。参照全国计算机等级考试二级Python考试大纲,试题类型包括单项选择题、基本操作题、简单应用题和综合应用题。试题类型表包含试题类型ID和试题类型名称字段。试题表:保存试题。试题表包含试题ID、试题题干、试题选项、试题图片和参考答案等字段。仅单项选择题有试题选项,每小题的选项用JSON字符串表示。试题表与试题类型表之间是多对一关系,一种试题类型对应多道试题。试卷模板表:保存一套试卷的试题设置。试卷模板表包含试卷模板ID、模板名称、制卷时间、单项选择题数量、单项选择题分值、基本操作题数量、基本操作题分值、简单应用题数量、简单应用题分值、综合应用题数量和综合应用题分值等字段。试卷内容

3、表:保存根据试卷模板随机生成的试卷,包含试卷内容ID、试卷名称和试题ID列表。试题ID列表是由随机抽取的试题的ID组成的列表。试卷内容表和试卷模板表之间是多对一关系,一个试卷模板可以随机生成多套试卷。项目中用户管理功能使用默认的Admin站点来实现,相应的模型使用Django默认的用户模型和权限模型。9.2 项目实现本节主要内容创建项目和应用创建模型和数据库注册模型创建添加和修改试题对象模板创建添加和修改试卷内容对象模板实现随机抽取试题9.2.1创建项目和应用将题库项目命名为chapter9,在项目中创建应用ItemPool,在应用中完成项目的相关功能实现。创建项目和应用的具体操作步骤如下。(

4、1)执行下面的命令创建项目chapter9D:django-admin startproject chapter9(2)执行下面的命令,在项目中创建应用ItemPool。D:cd chapter9D:chapter9python manage.py startapp ItemPool9.2.2创建模型和数据库具体操作步骤如下:(1)用Visual Studio打开项目主文件夹chapter9。(2)修改应用ItemPool中的models.py文件,为项目的试题类型表、试题表、试卷模板表和试卷内容表等定义模型(3)修改项目配置文件settings.py,注册ItemPool应用和中文中间件,设

5、置中文语言、时区和媒体资源目录等。(4)在Windows命令窗口执行命令完成数据库创建。(5)创建Admin站点的超级管理员账户。9.2.3注册模型注册模型是实现本例的关键环节,该操作在ItemPool应用的admin.py文件中完成。1修改站点标题本例用自定义标题代替Admin站点的默认标题。#替换站点默认标题admin.site.site_title=Python在线题库后台管理 #定义站点标题(显示在浏览器标题栏)admin.site.site_header=Python在线题库#定义站点页面顶部标题2注册试卷模板模型在Admin站点中,试卷模板模型使用默认管理模板,只需要完成注册即可,

6、注册代码如下。from django.contrib import adminfrom .models import *admin.site.register(paperTemplate) #按默认方式注册模型3注册试题类型模型注册代码如下。admin.register(itemType) #用下面的自定义类注册试题类型模型class itemTypeAdmin(admin.ModelAdmin): list_display=id,name #设置在模型数据浏览页面中显示的字段list_editable=name #允许在模型数据浏览页面中修改字段数据4注册试题模型注册代码如下。admin.r

7、egister(testItem) #注册试题模型class testItemAdmin(admin.ModelAdmin): list_display=id,type,question,options,item_pic,answer list_filter=type_name#设置过滤器字段 ordering=type,id#设置排序字段 search_fields = question#设置搜索字段,在页面中显示搜索框 add_form_template=change_testItem.html #设置添加数据表单模板 change_form_template=change_testIte

8、m.html#设置修改数据表单模板 fieldsets = (#定义添加和修改页面中的字段及其先后顺序 (None, fields: (type,question,options,picture,answer) ), )5注册试卷内容模型注册代码如下。admin.register(paperContent) #注册试卷内容模型class paperContentAdmin(admin.ModelAdmin): list_display=id,name,content,template ordering=id,name,template add_form_template=paperConten

9、t.html change_form_template=paperContent.html fieldsets = ( (None, fields: (template,name,content) ), )9.2.4创建添加和修改试题对象模板Admin在添加和修改对象时,通常使用同一个模板。本例中,添加和修改试题对象时,使用change_testItem.html模板9.2.5创建添加和修改试卷内容对象模板在添加和修改试卷内容对象时,使用paperContent.html模板9.2.6实现随机抽取试题实现随机抽取试题的视图代码如下9.3 数据管理本节主要内容试题类型模型管理试题模型管理试卷模板模型管理试卷内容模型管理9.3.1试题类型模型管理9.3.2试题模型管理9.3.3试卷模板模型管理9.3.4试卷内容模型管理9.4 实现试卷导出本节主要内容基本思路定义试卷导出页面模板定义试卷导出相关视图测试试卷导出页面9.4.1基本思路试卷导出实现的基本思路如下:1在试卷导出页面中显示现有的试卷列表。2用户从试卷列表中选择要导出的试卷时,在页面中显示试卷预览内容。试卷预览内容为HTML格式,直接在浏览器中查看。3在生成试卷预览内容的同时,将试卷写入Word文件供用户下载。4获得试卷预览内容后,

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论