Python my form.is _valid()函数在django中返回假值。请检查以下文件以了解有关此问题的更多信息

Python my form.is _valid()函数在django中返回假值。请检查以下文件以了解有关此问题的更多信息,python,django,django-models,django-forms,django-views,Python,Django,Django Models,Django Forms,Django Views,下面是models.py文件中的代码 它有一些字段 models.py from django.db import models class Measurement(models.Model): location = models.CharField(max_length=200) destination = models.CharField(max_length=200) distance = models.DecimalField(max_digits=10, dec

下面是models.py文件中的代码 它有一些字段 models.py

from django.db import models
class Measurement(models.Model):
    location = models.CharField(max_length=200)
    destination = models.CharField(max_length=200)
    distance = models.DecimalField(max_digits=10, decimal_places=2)
    created = models.DateTimeField(auto_now_add=True)

    def __str__(self):
        return f"distance from {self.location} to {self.destination} is {self.distance}"
在views.py中,我试图将表单中的一些数据插入表中

views.py

from django.shortcuts import render, get_object_or_404
from .models import Measurement
from .forms import MeasurementModelForm

# Create your views here.
def calculate_distance_view(request):
    obj = get_object_or_404(Measurement,id=2) 
    form = MeasurementModelForm(request.POST or None)

    if form.is_valid():
        print("valid")
        instance = form.save(commit=False)
        instance.destination = form.cleaned_data.get('destination')
        instance.location = 'san francisco'
        instance.distance = 5000.00
        instance.save()
    else:
        print("not valid")
        print(form.errors)

    context = {
        'distance' : obj,
        'form' : form,
    }
    return render(request,'measurements/main.html', context)
main.html

{% extends 'base.html' %}

{% block title %}
calculate distance
{% endblock title %}

{% block content %}
{{ distance }}

<hr>
<form action="" method="post" autocomplete="off"></form>
    {% csrf_token %}
    {{ form.as_p }}
    <button type="submit" class="btn btn-primary" >confirm</button>
</form>

{% endblock content %}
{%extends'base.html%}
{%block title%}
计算距离
{%endblock title%}
{%block content%}
{{distance}}

{%csrf_令牌%} {{form.as_p}} 确认 {%endblock内容%}
在控制台中,form.errors为空

python控制台 C:\Users\vishnu.vijaykumar\Desktop\src>python manage.py运行服务器

使用StatReloader监视文件更改

正在执行系统检查

系统检查未发现任何问题(0静音)

2020年9月26日-13:46:55

Django版本3.1.1,使用设置“距离项目设置”

正在启动开发服务器

使用CTRL-BREAK退出服务器

无效


[26/Sep/2020 13:47:00]“GET/HTTP/1.1”200 1394

你能给我看看你的表格吗。。我在main.html中有一个额外的结束表单标记