小编Vol*_*pym的帖子

如何将登录用户的 id 传递给 CreateView

我不知道如何自动将当前用户名作为帖子的作者传递。

如果添加作者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)

django django-models django-views

3
推荐指数
1
解决办法
2048
查看次数

标签 统计

django ×1

django-models ×1

django-views ×1