Django 我不知道';我看不到任何语法错误,但我一直得到ModelForm没有指定模型类

Django 我不知道';我看不到任何语法错误,但我一直得到ModelForm没有指定模型类,django,forms,model,valueerror,Django,Forms,Model,Valueerror,我试图将一个表单链接到我的模型,但页面上不断出现值错误。我没有看到任何语法错误,我也不确定逻辑中的缺陷可能在哪里 我已经试着把meta换成meta,但没有效果。我已经有一些实体在表中,这可能是导致问题的原因吗 # URLS________ path('posts/create_post/', views.create_post, name='create_post'), #MODELS________ class Posts(models.Model): priority = mod

我试图将一个表单链接到我的模型,但页面上不断出现值错误。我没有看到任何语法错误,我也不确定逻辑中的缺陷可能在哪里

我已经试着把meta换成meta,但没有效果。我已经有一些实体在表中,这可能是导致问题的原因吗

# URLS________
path('posts/create_post/', views.create_post, name='create_post'),


#MODELS________
class Posts(models.Model):
    priority = models.CharField(max_length=30)
    client = models.CharField(max_length=30)
    title = models.CharField(max_length=150)
    assigned_to = models.ForeignKey(Users, on_delete=models.CASCADE)
    exp_comp_time = models.FloatField(max_length=4)
    percent_comp = models.FloatField(max_length=4)
    post_date = models.CharField(max_length=20)
    due_date = models.CharField(max_length=20)
    latest_mod = models.CharField(max_length=20, null=True)

class PostsForm(forms.ModelForm):
    class meta:
        model = Posts
        fields = '__all__' 


#VIEWS________
def create_post(request):
    """"Renders the create task page"""
    if request.method == "GET":
        form = PostsForm()
        return render(request, 'app/form.html', {'form': form})
    elif request.method == "POST":
        form = PostsForm(request.POST)
        form.save()
        return HttpResponseRedirect('/posts')


#FORM.html________
{% extends "app/layout.html" %}

{% block content %}

<form method="post">
    {% csrf_token %}
    {{ form }}
    <button type="submit">Submit Task</button>
</form>

{% endblock %}

您需要大写
Meta

from django.forms import ModelForm    ### Double check your import statement
from django.db import models

...

class PostsForm(ModelForm):           ### Notice that I have changed the inherited class name
    class Meta:                       ### HERE
        model = Posts
        fields = '__all__' 
我已经试过把meta换成meta了

确保在进行更改后保存该文件

我已经有一些实体在表中,这可能是导致问题的原因吗

# URLS________
path('posts/create_post/', views.create_post, name='create_post'),


#MODELS________
class Posts(models.Model):
    priority = models.CharField(max_length=30)
    client = models.CharField(max_length=30)
    title = models.CharField(max_length=150)
    assigned_to = models.ForeignKey(Users, on_delete=models.CASCADE)
    exp_comp_time = models.FloatField(max_length=4)
    percent_comp = models.FloatField(max_length=4)
    post_date = models.CharField(max_length=20)
    due_date = models.CharField(max_length=20)
    latest_mod = models.CharField(max_length=20, null=True)

class PostsForm(forms.ModelForm):
    class meta:
        model = Posts
        fields = '__all__' 


#VIEWS________
def create_post(request):
    """"Renders the create task page"""
    if request.method == "GET":
        form = PostsForm()
        return render(request, 'app/form.html', {'form': form})
    elif request.method == "POST":
        form = PostsForm(request.POST)
        form.save()
        return HttpResponseRedirect('/posts')


#FORM.html________
{% extends "app/layout.html" %}

{% block content %}

<form method="post">
    {% csrf_token %}
    {{ form }}
    <button type="submit">Submit Task</button>
</form>

{% endblock %}
没有


最后要检查的是确保您的模型是在匹配表单上方定义的。

解决了,我想我只需要重置服务器。