【发布时间】:2021-11-20 08:57:44
【问题描述】:
我试图在添加帖子时显示最常见的标签以供选择。但是,当我添加 get_context_data 时,表单消失了。
class AddPostView(CreateView):
model = Post
form_class = AddPostForm
template_name = 'add_post.html'
def get_context_data(self, **kwargs):
common_tags = Post.tags.most_common()[:4]
context = {
'common_tags': common_tags
}
return context
# gets the user id
def form_valid(self, form):
form.instance.author = self.request.user
return super().form_valid(form)
这是我的表格
class AddPostForm(forms.ModelForm):
class Meta:
model = Post
fields = ('title','summary', 'body', 'header_image', 'category', 'tags')
labels = {
"title": "العنوان",
"tags": "العلامات",
"category": "التصنيف",
"summary":"الملخص",
"body": "المحتوى",
"header_image": "الغلاف",
}
widgets = {
'title': forms.TextInput(attrs={'class':'form-control'}),
'tags': forms.TextInput(attrs={'class':'form-control'}),
'category': forms.Select(choices=choices_list, attrs={'class':'form-control'}),
'summary': forms.TextInput(attrs={'class':'form-control'}),
'header_image': forms.FileInput(attrs={'class':'form-control'}),
'body': forms.Textarea(attrs={'class':'form-control'}),
}
【问题讨论】:
标签: python django django-views django-forms django-queryset