Django - 边学Django边写毕业设计(day11管理中心展示)
作者:互联网
2021.10.3
1.修改小BUG
发现搜索框如果没有输入内容直接点搜索,会报错,因为是根据团队ID搜索,只能是数字,如果是空则传过来空字符串,看到这也考虑了输入其他内容的问题,所以get到输入的字符串内容后,.isdigit()判断是否由数字组成,不是则exist设置为None,这样返回的就是找不到该团队。
2.管理中心展示
我看看有啥新知识点。
- 在继承的母版base_master.html中,我希望项目有个下拉查看的功能,但母版没有对应的url。所以我直接在中间件中,将当前登录的用户创建的项目表查出来,直接赋值给request.project,因为它存在多个,所以我没用first(),所以现在request.project是个QuerySet对象,是个列表,可以遍历,每个遍历的project操作与first()取出后的一样。
- 在html里反向查找
{{ 取出的model对象 . 外键名 . 要查的字段}}
- 在前端加了一个判断,如果创建项目超出个数,则显示的按钮是不可操作的按钮
- 还有是否为星标项目问题
我是这么设计的,数据库中,项目表含有创建者id外键和是否星标。
项目用户表,是项目id外键,用户id外键和是否星标。
先在两表中查找与当前登录用户有关的数据。
在前端遍历并判断,
在星标项目栏,遍历两表查出来的数据,将有星标的展示
在我创建的项目栏,遍历从项目表查出来的数据,将没有星标的显示
在我参与的项目栏,遍历从项目用户表查出来的数据,将没有星标的显示。
- 一个前端知识:将textarea设置为不可拖动改变大小,在style中加resize:none
- 在视图函数中,表单校验通过了,如果从前端传过来的内容不是完全的,有几个字段没有,例如创建者的外键,则需要用表单的form.instance.字段名,而此时如果是用户外键,则为
form.instance.user_id = xxxxx.id
要写user_id(数据库中字段的名)和前面反向查找不一样
3.管理中心展示告一段落
差 点击项目进入项目详细的url 和 点击项目星标星标和取消的功能 还有项目成员人数自增加的功能
晚上有事嘿嘿
标签:遍历,项目表,项目,外键,Django,边写,毕业设计,星标,id 来源: https://blog.csdn.net/DreamingBetter/article/details/120592806