3 回答

TA貢獻(xiàn)2019條經(jīng)驗(yàn) 獲得超9個贊
class CreatePostView(CreateView):
model = post
template_name = 'users/create.html'
fields = ['content']
def form_valid(self, form):
form.instance.author = self.request.user
return super().form_valid(form)

TA貢獻(xiàn)1895條經(jīng)驗(yàn) 獲得超7個贊
您需要做三件事:
保護(hù)頁面,使匿名用戶無法訪問它,使用
LoginRequiredMixin
從字段中刪除用戶
提交表單后在提交的表單中輸入當(dāng)前用戶,使用
form_valid
方法
from django.views.generic.edit import CreateView
from django.contrib.auth.mixins import LoginRequiredMixin
class CreatePostView(LoginRequiredMixin, CreateView):
model = Post
fields = ["content"]
template_name = "create.html"
def form_valid(self, form):
form.instance.user = self.request.user
return super().form_valid(form)
添加回答
舉報