python - 使用标准 django.contrib.auth.models.User 模型在 Sqlite 数据库中查询用户名 "x"的用户

标签 python django sqlite django-models django-views

我正在努力解决我遇到的问题。

我想向用户展示一个页面,他们可以在其中输入用户名来查找用户。

但是我不知道如何做到这一点。我是否在 View 中提供一个函数来执行从数据库检索用户的查询?例如检索他的用户名或 ID 并转到他的个人资料页面?我似乎不知道如何做到这一点,我一直在寻找这方面的例子,但我找不到任何东西,所以我希望这里有人可以帮助我!

最佳答案

是的,在最简单的级别上,您将有一个接受表单提交的 View ,该表单提交获取字段的值并执行类似 User.objects.get(username=my_variable) 的操作并返回结果,如果有的话。您应该将调用包装在 try/ except block 中,这样如果不存在具有该用户名的此类用户,您的 View 就不会崩溃。 Django 提供了 shortcut function for doing just this ,因此您可以执行 user = get_object_or_404(User, username=my_variable) 来代替上面的行。你的整个 View 看起来像

from django.shortcuts import render, get_object_or_404

def username_search(request):
  # if there are any form values sent in a GET
  if request.GET:
    my_variable = request.GET.get('username', '')
    user = get_object_or_404(User, username=my_variable)
  else:
    user = None
  return render(request, 'some_template.html', {'user': user}

实际上,您也可以创建一个 Django form对提交的内容进行一些验证并使其更容易呈现表单。

关于python - 使用标准 django.contrib.auth.models.User 模型在 Sqlite 数据库中查询用户名 "x"的用户,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43592227/

相关文章:

perl - 基于Sqlite的DBI::CSV实现

python - 有没有办法在另一个 .py 文件中使用 PyInstaller?

python - 如何通过 selenium 和 python 从下拉菜单中选择元素?

python - 使用 native Windows 数据库驱动程序在 Windows 上运行 django 迁移以获取远程 mssql 数据库

python - 在Python中实现缓存

django - 如何更改 Django 表单字段的 'name' HTML 属性?

python - Python 中的双鱼加密

python - pip install tr​​ansformers : Building wheel for tokenizers (pyproject. toml 时出错):完成状态为 'error'

java - 以相同的方法读取 SQLite 数据或以相同的方法从两个表中读取数据

c++ - vc++ (sqlite) 如何区分语句是 SELECT - 还是 NOT?