#django #forms
Вопрос:
from django import forms
from .models import Tweet
MAX_TWEET_LENGTH=240
class TweetForm(forms.ModelForm):
class meta:
model = Tweet
field = ['content']
def clean_content(self):
content = self.cleaned_data.get('content')
if len(content)>MAX_TWEET_LENGTH:
raise forms.ValidationError("This tweet is to long")
return content
Это мой код для формы …
но когда я вызываю форму твита в views.py там написано
Exception Type: ValueError
Exception Value : ModelForm has no model class specified
Я также пробовал в оболочке django : вот сообщение об ошибке
~AppDataLocalProgramsPythonPython37libsite-packagesdjangoformsmodels.py in __init__(self, data, files, auto_id, prefix, initial, error_class, label_suffix, empty_permitted, instance, use_required_attribute, renderer)
285 opts = self._meta
286 if opts.model is None:
> 287 raise ValueError('ModelForm has no model class specified.')
288 if instance is None:
289 # if we didn't get an instance, instantiate a new one
ValueError: ModelForm has no model class specified.
вот мой views.py
def tweet_creat_view(request,*args,**kwargs):
form = TweetForm(request.POST or None)
if form.is_valid():
obj = form.save(commit=False)
obj.save()
form = TweetForm()
return render(request,"components/forms.html",context={"form":form})
Комментарии:
1. Вложенный класс в
TweetForm
классе должен бытьMeta
, а неmeta