| 
 | 
    
 
本文项目开源地址: 
 
系列文章目录 
 
提示:需要下载代码的朋友可以到上面的开源项目库拉取代码,想一起参与学习的同学可以加入项目组一起开发 
 
零基础学习Web开发在线考试系统-框架入门项目系列课程(真正带你玩转实战项目开发之路)-目录 
 
《零基础Web开发在线考试系统-框架入门项目第1课-请求与响应(真带你玩转实际项目开发之路)》 
 
《零基础Web开发在线考试系统-框架入门项目第2课-模型与管理站点(真带你玩转实际项目开发之路)》 
 
《零基础Web开发在线考试系统-框架介绍项目第3课-视图和模板(真正带你玩实际项目开发之路)》 
 
《零基础Web开发在线考试系统-框架入门项目第4课-表格和一般视图(真带你玩转实际项目开发之路)》 
 
《零基础Web开发在线考试系统-    5-Test(真带你玩转实际项目开发之路)》 
 
《零基础Web开发在线考试系统-框架入门项目第6课-静态文件(真带你玩实际项目开发之路)》 
 
《零基础Web开发在线考试系统-框架入门项目第7课-自定义管理站点(真带你玩转实际项目开发之路)》 
 
提示:如果喜欢,请帮忙一键三连。有什么问题可以在评论区留言。 
 
文章目录 
 
系列文章目录 
 
零基础学习Web开发在线考试系统-框架入门项目系列课程(真正带你玩转实战项目开发之路)-目录 
 
前言 
 
一、准备 
 
开发环境安装: 
 
安装: 
 
安装: 
 
安装: 
 
环境安装验证 
 
二、开始开发 
 
自定义后端表单 
 
/admin.py 
 
/admin.py 
 
添加相关对象 
 
/admin.py 
 
/admin.py 
 
/admin.py 
 
自定义背景更改列表 
 
/admin.py 
 
/admin.py 
 
/.py 
 
自定义后端界面和样式 
 
自定义您的项目模板 
 
/.py 
 
组织模板 
 
源文件在哪里? 
 
自定义应用的模板 
 
自定义背景主页 
 
总结 
 
前言 
 
本系列文章的目的: 
 
带你从零基础开始学习Web开发,通过一个真实的项目——在线考试系统,学习如何使用框架。 
 
因为知识点比较多,工作量比较大django实战项目源码,而且文章章节只有7个课时,所以最终实现的功能并不多。首先实现选择题的功能。 
 
但是整个项目会让你真正开始开发,以后可以根据本系列文章继续添加其他功能。 
 
废话不多说,开始吧。如有任何问题,请在评论区留言或私信联系我们。 
 
一、准备 
 
开发环境安装: 
 
安装: 
 
楼梯在这里: 
 
安装: 
 
楼梯在这里: 
 
或者 
 
安装: 
 
楼梯在这里: 
 
环境安装验证 
 
要验证它是否被识别,您可以键入 shell。然后在提示符下,尝试导入: 
 
>>> 
 
>>> 打印(。()) 
 
3.2 
 
1 
 
2 
 
3 
 
当然,您也可能安装了其他版本。 
 
二、开始开发 
 
自定义后端表单 
 
通过使用 admin.site.() 注册模型,可以构建一个默认表单以供显示。通常,您希望能够自定义表单的外观和工作方式。您可以在注册模型时告知这些设置。让我们通过重新排列表单上的字段来看看它是如何工作的。将 admin.site.() 替换为以下内容: 
 
/admin.py 
 
来自 .admin 
 
从 。 
 
类(管理员): 
 
= ['', ''] 
 
admin.site.(, ) 
 
1 
 
2 
 
3 
 
4 
 
5 
 
6 
 
7 
 
8 
 
9 
 
您需要按照以下过程 - 创建模型后端类,然后将其作为第二个参数传递给 admin.site.() - 当您需要修改模型的后端管理选项时这样做。上面的修改使“日期”字段出现在“”字段之前:对于一个有几十个字段的表单,为表单选择一种直观的排序方法可能是一根细针。说到有几十个字段的表单,您可能更喜欢将表单分成几组字段: 
 
/admin.py 
 
来自 .admin 
 
从 。 
 
类(管理员): 
 
= [ 
 
(没有任何, {'': ['']}), 
 
('日期 ', {'': ['']}), 
 
] 
 
admin.site.(, ) 
 
1 
 
2 
 
3 
 
4 
 
5 
 
6 
 
7 
 
8 
 
9 
 
10 
 
11 
 
12 
 
元组中的第一个元素是字段集的标题。这是我们的表单现在的样子:  
 
添加相关对象 
 
好的,现在我们有了考试的后端页面。但是,一个有多个,但后台页面并没有显示多个选项。 
 
好的。 
 
有两种方法可以解决这个问题。第一个是注册,就像我们在后台注册一样: 
 
/admin.py 
 
来自 .admin 
 
从 。, 
 
# ... 
 
admin.site.() 
 
1 
 
2 
 
3 
 
4 
 
5 
 
“”现在是背景页面中的一个可用选项。“添加选项”表单如下所示:  在此表单中,“”字段是包含数据库中所有考试的字段选择框。知道它将在后台显示为选择框。在这一点上,我们只有一个考试。另请注意“”旁边的“添加”按钮。每个使用指向另一个对象的链接的对象都会自动获得此功能。当您单击“添加”按钮时,您将看到一个带有“添加考试”的表格。如果您在此弹出窗口中添加考试并单击“保存”,它将被保存到数据库并在您正在查看的“添加选项”表单中动态选择。但是,这是一种添加“选项”的低效方式。更好的方法是在创建“exam”对象时直接添加几个选项。一起让它成为现实。去掉调用()注册模型的代码。随后,注册码修改如下: 
 
/admin.py 
 
来自 .admin 
 
从 。, 
 
类(管理员): 
 
型号 = 
 
额外 = 3 
 
类(管理员): 
 
= [ 
 
(没有任何, {'': ['']}), 
 
('日期 ', {'': [''], '': ['']}), 
 
] 
 
= [] 
 
admin.site.(, ) 
 
1 
 
2 
 
3 
 
4 
 
5 
 
6 
 
7 
 
8 
 
9 
 
10 
 
11 
 
12 
 
13 
 
14 
 
15 
 
16 
 
17 
 
18 
 
这将告诉:“对象将在后台页面中进行编辑。默认情况下,提供了 3 个足够的选项字段。” 
 
加载 Add Exam 页面以查看它的外观: 
 
它看起来像这样:有三个关联的选项槽 - 由 extra 定义,每次您返回任何已创建对象的“修改”页面时,您都会看到三个新槽。在三个插槽的末尾,您会看到一个“添加新选项”按钮。如果单击它,将添加一个新插槽。如果要移除现有槽位,可以单击槽位右上角的 X。下图显示了一个添加的插槽:  但是,仍然存在一个小问题。显示所有关联对象的字段会占用大量屏幕区域。对于这个问题,有一种方法可以在单行中以表格格式显示关联的对象。要使用它,只需修改声明如下: 
 
/admin.py 
 
类(管理员): 
 
#... 
 
1 
 
2 
 
通过(或者),关联对象以表格方式呈现,更紧凑: 
 
请注意,还有一个“删除?” 列,它允许删除通过“添加新选项”按钮添加的行或已保存的行。 
 
自定义背景更改列表 
 
现在考试后端页面看起来不错,让我们对更改列表页面进行一些调整 - 使其成为显示系统中所有考试的页面。 
 
这是它在这一点上的样子: 
 
默认情况下,会显示 str() 为每个对象返回的值。但有时如果我们可以显示单个字段会更有帮助。为此django实战项目源码,请使用  选项,它是一个包含要显示的字段名称的元组,并将此对象显示为更改列表页面上的列: 
 
/admin.py 
 
类(管理员): 
 
# ... 
 
= ('', '') 
 
1 
 
2 
 
3 
 
另外,让我们添加第 2 课中的 ly() 方法: 
 
/admin.py 
 
类(管理员): 
 
# ... 
 
= ('', '', 'ly') 
 
1 
 
2 
 
3 
 
修改考试的列表页面现在如下所示: 
 
您可以通过单击列标题对行进行排序 - 除了 ly 列,因为没有实现排序方法。顺便看看这一列的标题ly,默认是方法名(下划线用空格代替),而且这一列的每一行都以字符串的形式显示来源。 
 
您可以通过在方法(在 /.py 中)上使用 () 装饰器来改进这一点,如下图所示: 
 
/.py 
 
来自 .admin 
 
类(.Model): 
 
# ... 
 
@行政。( 
 
=真, 
 
='', 
 
='?'天外神坛, 
 
) 
 
定义(自我): 
 
现在 = .now() 
 
现在 - .(days=1) |   
 
    
    
        
            【天外神坛】免责声明及帮助 
        
        
1.重要:如果遇到隐藏内容回复后显示为代码状态,直接刷新一下页面即可解决此问题。 
2.本文部分内容转载自其它媒体,但并不代表本站赞同其观点和对其真实性负责。 
3.若您需要商业运营或用于其他商业活动,请您购买正版授权并合法使用。 
4.如果本站有侵犯、不妥之处的资源,请在网站右边客服联系我们。将会第一时间解决! 
5.本站所有内容均由互联网收集整理、网友上传,仅供大家参考、学习,不存在任何商业目的与商业用途。 
6.本站提供的所有资源仅供参考学习使用,版权归原著所有,禁止下载本站资源参与商业和非法行为,请在24小时之内自行删除! 
 
     
 
 
 |