【发布时间】:2022-01-02 21:26:49
【问题描述】:
快速的初学者 Django 问题,因为我无法找到直接解决我所追求的问题的答案,或者没有添加一堆我不需要的过于复杂的功能。
我有一个基本的博客设置,其中包含用户及其相关帖子的模型,以及用于创建新帖子的表单。但是,我想要的只是让表单上的“作者”字段自动填充当前登录的用户,而不是成为所有注册用户的下拉列表。 我的模特:
class Post(models.Model):
title = models.CharField(max_length=255)
author = models.ForeignKey(User, on_delete=models.CASCADE)
body = models.TextField()
post_date = models.DateField(auto_now_add=True)
category = models.CharField(max_length=255)
site = models.CharField(max_length=255)
def __str__(self):
return self.title + ' | ' + str(self.author)
def get_absolute_url(self):
return reverse('home')
我的表格:
class PostForm(forms.ModelForm):
class Meta:
model=Post
fields = ('title', 'author', 'category', 'site', 'body')
widgets = {
'title': forms.TextInput(attrs={'class': 'form-control'}),
'author': forms.Select(attrs={'class': 'form-control' ,'readonly': 'readonly'}),
'category': forms.Select(choices=choice_list,attrs={'class': 'form-control'}),
'site': forms.Select(choices=site_choice_list,attrs={'class': 'form-control'}),
'body': forms.Textarea(attrs={'class': 'form-control'})
}
我的观点:
class AddPostView(CreateView):
model = Post
form_class = PostForm
template_name = 'add_post.html'
重申一下,我只是希望帖子中的“作者”字段是只读的,并填充当前登录的用户。而不是用户能够从用户列表中进行选择。
提前谢谢你,如果我能提供任何其他帮助你帮助我的话,请告诉我:)
【问题讨论】:
标签: python django django-models django-forms blogs