我不知道如何自动将当前用户名作为帖子的作者传递。
如果添加作者fields = ['headline', 'quote', 'author'],则会显示并传递下拉菜单,但我需要将登录的用户名作为默认值。
我的看法:
class PostCreate(CreateView):
model = Post
user = User
fields = ['headline', 'quote']
success_url = '/index'
template_name = 'base_homepage.html'
@login_required()
def get_context_data(self, **kwargs):
kwargs['latest_posts_list'] = Post.objects.order_by('-id')
return super(PostCreate, self).get_context_data(**kwargs)
Run Code Online (Sandbox Code Playgroud)
我的模型:
class Post(models.Model):
_id = models.ObjectIdField
headline = models.TextField(max_length=255)
quote = models.TextField(max_length=140)
creation_time = models.DateTimeField(editable=False).auto_now_add
author = models.ForeignKey(
get_user_model(),
on_delete=models.CASCADE,
)
def __str__(self):
return self.headline[:25]
Run Code Online (Sandbox Code Playgroud)