Я пытался понять, почему form.is_valid всегда возвращает false, но я до сих пор еще не понял, и не помогает то, что я только начал с Django.
Модель
class Post(models.Model):
STATUS_CHOICES = (
('d', 'Draft'),
('p', 'Published'),
)
author = models.ForeignKey(User, on_delete=models.CASCADE)
title = models.CharField(max_length=120, null=True, blank=True)
text = models.TextField(max_length=500, null=True, blank=True)
slug = models.SlugField(max_length=40, unique=True)
publish_date = models.DateTimeField(null=True)
status = models.CharField(choices=STATUS_CHOICES, max_length=1,default='d')
Форма
class PostForm(forms.ModelForm):
class Meta:
model = Post
fields = ('title','author','slug','text','publish_date','status')
widgets = {
'title': forms.TextInput(attrs={'class' : 'form-control', 'placeholder' : 'Title'}),
'author': forms.Select(),
'slug': forms.TextInput(attrs={'class' : 'form-control', 'placeholder' : 'Slug'}),
'text': forms.Textarea(attrs={'class' : 'form-control', 'placeholder' : 'Text'}),
'publish_date': forms.DateInput(attrs={'class' : 'form-control', 'placeholder' : date.today}),
'status': forms.NullBooleanSelect(attrs={'class' : 'form-control'}),
}
Просмотреть
def admin(request):
if request.user.is_authenticated:
if request.user.is_staff:
users = User.objects.all().order_by('date_joined').reverse()[:5]
posts = Post.objects.all().order_by('created').reverse()[:5]
publications = Publication.objects.all().order_by('created').reverse()[:5]
form = PostForm()
args = {'profile' : users ,'posts' : posts, 'publications' : publications, 'form' : form }
if request.POST:
print('request is posting')
if form.is_valid():
form.save()
else:
print('Error in saving')
return render(request, 'webadmin/index.html',args)
else:
return index(request)
else:
return redirect('/webmaster/login/')
Я надеюсь, что вы можете мне помочь, спасибо, OWO)/
form = PostForm()
наform = PostForm(request.POST or None)
- person art   schedule 31.10.2018