|
本文项目开源地址:
系列文章目录
提示:需要下载代码的朋友可以到上面的开源项目库拉取代码,想一起参与学习的同学可以加入项目组一起开发
零基础学习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
元组中的第一个元素是字段集的标题。这是我们的表单现在的样子: ![在此处插入图像描述](,,,vbGk=,,,t_70,g_se,x_16#)
添加相关对象
好的,现在我们有了考试的后端页面。但是,一个有多个,但后台页面并没有显示多个选项。
好的。
有两种方法可以解决这个问题。第一个是注册,就像我们在后台注册一样:
/admin.py
来自 .admin
从 。,
# ...
admin.site.()
1
2
3
4
5
“”现在是背景页面中的一个可用选项。“添加选项”表单如下所示: ![ image here](,,,vbGk=,,,t_70,g_se,x_16#) 在此表单中,“”字段是包含数据库中所有考试的字段选择框。知道它将在后台显示为选择框。在这一点上,我们只有一个考试。另请注意“”旁边的“添加”按钮。每个使用指向另一个对象的链接的对象都会自动获得此功能。当您单击“添加”按钮时,您将看到一个带有“添加考试”的表格。如果您在此弹出窗口中添加考试并单击“保存”,它将被保存到数据库并在您正在查看的“添加选项”表单中动态选择。但是,这是一种添加“选项”的低效方式。更好的方法是在创建“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。下图显示了一个添加的插槽: ![在此处插入图像描述](,,,vbGk=,,,t_70,g_se,x_16#) 但是,仍然存在一个小问题。显示所有关联对象的字段会占用大量屏幕区域。对于这个问题,有一种方法可以在单行中以表格格式显示关联的对象。要使用它,只需修改声明如下:
/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小时之内自行删除!
|