其他分享
首页 > 其他分享> > Django - 边学Django边写毕业设计(day11管理中心展示)

Django - 边学Django边写毕业设计(day11管理中心展示)

作者:互联网

2021.10.3

1.修改小BUG

发现搜索框如果没有输入内容直接点搜索,会报错,因为是根据团队ID搜索,只能是数字,如果是空则传过来空字符串,看到这也考虑了输入其他内容的问题,所以get到输入的字符串内容后,.isdigit()判断是否由数字组成,不是则exist设置为None,这样返回的就是找不到该团队。

2.管理中心展示

我看看有啥新知识点。

  1. 在继承的母版base_master.html中,我希望项目有个下拉查看的功能,但母版没有对应的url。所以我直接在中间件中,将当前登录的用户创建的项目表查出来,直接赋值给request.project,因为它存在多个,所以我没用first(),所以现在request.project是个QuerySet对象,是个列表,可以遍历,每个遍历的project操作与first()取出后的一样。
    在这里插入图片描述
  2. 在html里反向查找

{{ 取出的model对象 . 外键名 . 要查的字段}}

  1. 在前端加了一个判断,如果创建项目超出个数,则显示的按钮是不可操作的按钮
  2. 还有是否为星标项目问题

我是这么设计的,数据库中,项目表含有创建者id外键和是否星标。

项目用户表,是项目id外键,用户id外键和是否星标。

先在两表中查找与当前登录用户有关的数据。

在前端遍历并判断,
在星标项目栏,遍历两表查出来的数据,将有星标的展示
在我创建的项目栏,遍历从项目表查出来的数据,将没有星标的显示
在我参与的项目栏,遍历从项目用户表查出来的数据,将没有星标的显示。

  1. 一个前端知识:将textarea设置为不可拖动改变大小,在style中加resize:none
  2. 在视图函数中,表单校验通过了,如果从前端传过来的内容不是完全的,有几个字段没有,例如创建者的外键,则需要用表单的form.instance.字段名,而此时如果是用户外键,则为
form.instance.user_id = xxxxx.id

要写user_id(数据库中字段的名)和前面反向查找不一样

3.管理中心展示告一段落

差 点击项目进入项目详细的url 和 点击项目星标星标和取消的功能 还有项目成员人数自增加的功能
晚上有事嘿嘿

标签:遍历,项目表,项目,外键,Django,边写,毕业设计,星标,id
来源: https://blog.csdn.net/DreamingBetter/article/details/120592806