0
私は現在、Djangoでソーシャルプラットフォームを作成しています。今、ダッシュボードを開発しており、エンドユーザが自分の投稿を公開できるようにしたいと考えています。 Postモデルのためのフォーム投稿が新しい投稿オブジェクトを生成しない
class Post(models.Model):
user = models.ForeignKey(User)
posted = models.DateTimeField(auto_now_add=True)
content = models.CharField(max_length=150)
Likes = models.IntegerField(default=0)
def __str__(self):
return self.user.username
マイフォーム::
フォームが送信されますclass Post_form(forms.ModelForm):
class Meta:
model = Post
fields = (
'content',
]
def __init__(self, *args, **kwargs):
super(Post_form, self).__init__(*args, **kwargs)
self.fields['content'].label = ""
self.fields['content'].widget.attrs={
'id': 'id_content',
'class': 'myCustomClass',
'name': 'name_content',
'placeholder': 'What are you thinking about?',
}
が、それは正しくコンテンツフィールドの値を持つPOSTリクエストを生成し、これが私のPostモデルです。ビューにフォームを保存すると、新しい投稿は生成されません。私は間違って何をしていますか?
私のviews.py:
def dashboard_view(request):
if request.POST:
form = Post_form(data=request.POST, instance=request.user)
if form.is_valid():
form.save() // <- no new post gets generated after saving
return redirect(reverse('dashboard'))
else:
return redirect(reverse('settings'))
else:
form = Post_form
gebruikers = User.objects.all()
all_posts = Post.objects.all().order_by('-posted')
return render(request, 'Dashboard/index.html', {'gebruiker':gebruikers, 'posts':all_posts, 'form': form},)