Django if语句在与模型值和HTML输入进行比较时不工作

tsm1rwdh  于 2023-08-08  发布在  Go
关注(0)|答案(1)|浏览(136)

在results.html文件中,我想检查html页面的输入值和模型的值是否相同。如果是,则显示匹配结果。但我的代码只执行其他部分。
这是我的结果. html

<div class="card-body bg-light">
   <h5>Your data :</h5>
   <p>Your pH value: {{ ph }} pH. </p>
   <p>Your moisture value: {{ moist }}</p>      
   <div style="color: white;">
        {% for g in crop_data %}
          {% if ph == g.ph and moist == g.moisture %}             
            <p>{{ g.name }}</p>
            <p>{{ g.ph }}</p>
            <p>{{ g.moisture }}</p>
          {% else %}
            <p>Sorry for your inconvience</p>
          {% endif %}
        {% endfor %}            
  </div>     
</div>

字符串
这是我的models.py

from django.db import models

class cropInfo(models.Model):
    name = models.CharField(max_length=100)
    moisture = models.IntegerField()
    ph = models.IntegerField()
    description = models.TextField()
    image = models.ImageField(upload_to='images/')

    def __str__(self):
        return self.name


这是我的views.py

def results(request):
    crop_data = cropInfo.objects.all()
    context = {
        'crop_data':crop_data,
    }
    ph = request.POST.get('pH')
    moist = request.POST.get('moisture')

    print(ph)
    print(moist)
    return render(request, 'results.html', {'ph':ph, 'moist':moist, 'crop_data':crop_data})


我的网址和其他一切都很好,但我停留在比较这两个值,并在网页上显示结果。
这是我的index.html

<form method="post" id="form" action="{% url 'results' %}">
{% csrf_token %}
<div class="row">
   <div class="col-md-4">
       <label id="text" for="pH">pH</label>
       <input id="label" type="number" id="pH" name="pH" placeholder="Enter pH value" class="form-control" required>
    </div>
</div>
<div class="row mt-4">
    <div class="col-md-4">
       <label id="text"  for="moisture">Moisture</label>
       <input id="label" type="number" id="moisture" name="moisture" placeholder="Enter moisture level" class="form-control" required>  
     </div>
</div>
<div class="row mt-4">
     <div class="col-md-12 text-center">
       <button type="submit" class="btn btn-primary btn-lg" style='float: left;' id="center" >Process</button>
     </div>
</div>
</form>

ffx8fchx

ffx8fchx1#

在www.example.com中views.py您可以从html页面中获取输入值,并在您的终端上打印,该终端将该数字转换为字符串。您的models.py应该在char字段中,或者您应该将这些值转换为整数类型

moisture = models.CharField(max_length=100)
ph = models.CharField(max_length=100)

字符串

相关问题