You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

在Django中如何将HTML表单输入的字符串传递到views视图?

类视图中可直接从请求对象的GET参数里获取表单提交的username值,修改后的视图代码如下:

template_name = 'Exames.html'
def get_context_data(self,**kwargs):
    context = super(ShowExames, self).get_context_data(**kwargs)
    # 从GET请求中提取用户提交的username,无参数时默认返回空字符串
    username = self.request.GET.get('username', '')
    # 仅当获取到有效username时执行过滤,无参数时返回空查询集,可按需修改默认逻辑
    if username:
        exames = Examlabs.objects.filter(id_atendimento = username)
    else:
        exames = Examlabs.objects.none()
    context.update({'exames': exames})
    return context
def get_queryset(self):
    return Examlabs.objects.all()

额外注意事项

  • 你现有表单的input标签type属性存在错误,不存在username类型的input,建议修改为通用文本类型,避免浏览器兼容问题,修改后的表单代码如下:
<form id="username_exists_form" method='GET'>
    Name: <input type="text" name="username" />
    <button type='submit'> Check </button>           
</form>
  • 如果后续查询涉及敏感数据,建议将表单提交方法改为POST,同时在表单内添加Django CSRF防护标签{% csrf_token %},对应视图中获取参数的代码改为username = self.request.POST.get('username', '')
  • 你也可以把提交的username参数传到上下文里,在模板中做回显,只需要在context.update里新增对应的键值对即可。

内容的提问来源于stack exchange,提问作者Ana Clara

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.09.29 02:24:02