将数据从html中的表单传递到views.py不起作用

时间:2019-04-09 06:02:04

标签: html django

我将html表单的id值传递给了视图.py。我想检查该值是否与数据库中的值匹配。但是由于某种原因,它不起作用。

list.html

def pinned(request,category_slug=None):

    users = User.objects.exclude(id=request.user.id)
    jobs_list1 = Jobs.objects.all()
    if request.method =="POST":
         vari = request.GET.get('number')
    for evert in jobs_list1:
        if evert.Job_Id == vari:
            evert.flag = True
            evert.save(update_fields=["flag"])

    context = {
        'job_list1':jobs_list1,
        'users':users
    }

    return render(request, 'jobs/product/list.html',context)

views.py

if evert.Job_Id ==511

在这里,如果我将静态值设为511,即dataset.select("_id").where("ratings_rating_toi= 4").distinct().write().format("csv").option("header", true).save("Result"); ,则它可以正常工作。但是,如果我将其更改为request.GET.get('number'),则无法正常工作。如何将值从表单输入值发送到views.py。谢谢。

2 个答案:

答案 0 :(得分:1)

首先,您表单的方法是 POST ,因此对于 GET 方法而言,它将起作用。

对于发布方法,请尝试

     vari = request.POST.get('number')

希望有帮助

答案 1 :(得分:0)

事实证明,我正在将字符串与整数进行比较。因此,我将这个问题解决为:

if request.method =="POST":
        vari = request.POST.get('number')
        vari = int(vari)
        for evert in jobs_list1:
            vari1 = evert.Job_Id
.....