Я не вижу никаких синтаксических ошибок, но продолжаю получать ModelForm не указан класс модели

Я пытаюсь связать форму с моей моделью, но продолжаю получать сообщение об ошибке на странице. Я не вижу никаких синтаксических ошибок, и я не уверен, где может быть ошибка в логике.

Я уже пытался изменить мета на мету, это не имело никакого эффекта. У меня уже есть некоторые объекты в таблице, это может быть причиной проблемы?

# 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 %}

Должна загружаться страница бланка.

Traceback:

File "C:\DjangoWebProject1\DjangoWebProject1\office_proj_env\lib\site-packages\django\core\handlers\exception.py" in inner
  34.             response = get_response(request)

File "C:\DjangoWebProject1\DjangoWebProject1\office_proj_env\lib\site-packages\django\core\handlers\base.py" in _get_response
  115.                 response = self.process_exception_by_middleware(e, 
request)

File "C:\DjangoWebProject1\DjangoWebProject1\office_proj_env\lib\site-packages\django\core\handlers\base.py" in _get_response
 113.                 response = wrapped_callback(request, *callback_args,**callback_kwargs)

File "C:\DjangoWebProject1\DjangoWebProject1\app\views.py" in create_post
 81.         form = PostsForm()

File "C:\DjangoWebProject1\DjangoWebProject1\office_proj_env\lib\site-packages\django\forms\models.py" in __init__
 285.             raise ValueError('ModelForm has no model class 
 specified.')

Exception Type: ValueError at /posts/create_post/
Exception Value: ModelForm has no model class specified.
0
задан Usian Bolt 27 June 2019 в 18:01
поделиться

1 ответ

Вам нужно использовать заглавные буквы: 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

. изменение.

У меня уже есть некоторые объекты в таблице, которые могут быть причиной проблемы?

Нет.

Последнее, что нужно проверить, это убедиться, что ваша модель определена над соответствующей формой.

1
ответ дан JDH 27 June 2019 в 18:01
поделиться
Другие вопросы по тегам:

Похожие вопросы: