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

Django获取前端按钮value值查询指定ID记录失败怎么解决

问题原因&修复方案

1. 前端按钮&表单配置错误

你当前按钮设置的type="button"是普通交互按钮,默认不会触发表单提交动作,参数自然无法传递到后端。同时需要将按钮放在表单标签内,配置请求方式和CSRF令牌。
修改后前端代码:

<form method="post" action="{% url 'edit_skill' %}">
    {% csrf_token %}
    <button class="btn btn-sm btn-icon btn-icon-only btn-outline-primary" type="submit" value="{{ skill.id }}" name="editbut">
        <!-- 补充按钮内部显示内容 -->
    </button>
</form>

2. 后端参数处理优化

request.POST中取出的参数默认是字符串格式,而数据库ID字段是整数类型,需要做类型转换,同时添加容错逻辑避免异常:

from django.shortcuts import get_object_or_404

def edit_skill(request):
    if request.method == "POST":
        skillid = request.POST.get('editbut')
        if skillid:
            # 类型转换+容错查询,避免ID不存在抛出500错误
            t = get_object_or_404(skills, id=int(skillid))  
            t.status = 'closed'
            t.save()
            messages.success(request, 'Changes saved')
    return redirect('index')

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.09.27 10:15:05