栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > 后端开发 > Python

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

Python 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

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是否为空,如果为空,即没登录,跳转到登录界面。
(这部分报错了,提示我重定向太多次,先删了,之后再改)

转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/286217.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号