Django - 边学Django边写毕业设计(day10 搜索功能)

2021.10.2

经过一天的休整,感觉very good,继续搞!

1.团队搜索功能

  1. 当然,我得先把团队模型弄出来,在我的需求分析中,团队是和项目捆绑的,一个项目即一个团队,所以就是搞项目模型、先按原先想的写,之后再改。
  2. 创建好项目模型之后,按照管理,为搜索配置url、创建搜索views和搜索html
  3. 搜索框form用get提交参数到search视图,search视图通过reques.GET.get(’’)获取input里的值,input框记得加个name=’’,便于get获取。
  4. 将获取到的团队ID通过模型filter查找,
models.Project.objects.filter(pk=xxx).first()

filter返回的是QuerySet对象,类似一个列表,.first()取第一个值,如果查找不存在则QuerySet为空,first()取的也为None

  1. 将取到的值渲染到search.html,并携带是否存在参数exist
  2. 在search.html判断,如果为True则显示团队信息,False则显示不存在。
  3. 在模板中,要使用模型类的反向查找,要显示团队长的用户名

例如:

视图函数:render(request, ‘search.html’, {‘exist’:True, ‘project’: project(这个是查找结果)})

在模板中:{{ project.user.username }},user是User模型类的小写,username是User的用户名字段。

  1. 还落下一个申请加入的功能,之后补
  2. 搜索功能也基本搞定啦,接下来就是重中之重

2.管理中心功能(主要部分)

很多知识还在学习中,这部分可能更慢。
边写边学边完善吧。

  1. 完善:设置url白名单,如果在白名单内,没有登录也可直接访问,在白名单外,例如个人信息,项目中心想直接通过url
    访问,则跳转会登录页面。

在中间件中加上判断如果当前url不在白名单:
获取当前路由request.path_info
如果存在白名单内,则直接return
中间件return空即通过

再判断request.login_status是否为空,如果为空,即没登录,跳转到登录界面。
(这部分报错了,提示我重定向太多次,先删了,之后再改)

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值