gpt4 book ai didi

django - 发布数据后,是否可以通过基于类的 View 在 django 中创建 session ?

转载 作者:行者123 更新时间:2023-12-04 07:44:46 24 4
gpt4 key购买 nike

class CreateCompanyView(CreateView):
model = Company
template_name = 'create/company_create.html'
form_class = CompanyForm
success_url = '/'

def post(self, request, *args, **kwargs):
form = self.form_class(request.POST)
if form.is_valid():
instance = form.save(commit=False)
#section where the session is supposed to be created
request.session['company'] =instance.pk
instance.save()
return redirect("/")
如果有人基于使用基于类的 View 有更简单的方法或其他替代方法,我将不胜感激

最佳答案

处理表单的基于类的 View 有一个方法 form_valid这是在表单有效的情况下运行的。由于您想为特定情况编写一些额外的代码,您应该覆盖该方法而不是 post :

class CreateCompanyView(CreateView):
model = Company
template_name = 'create/company_create.html'
form_class = CompanyForm
success_url = '/'

def form_valid(self, form):
response = super().form_valid(form)
self.request.session['company'] = self.object.pk # `form_valid` saves the object to the variable `self.object`
return response

关于django - 发布数据后,是否可以通过基于类的 View 在 django 中创建 session ?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/67251769/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com