我有以下类 View :
class RegisterView(generic.CreateView):
model = User
form_class = forms.RegisterForm
template_name = 'register.html'
success_url = reverse_lazy('platforms')
def form_valid(self, form):
response = super(RegisterView, self).form_valid(form)
user = authenticate(username=form.instance.username, password=form.cleaned_data['password'])
login(self.request, user)
return response
我如何将以下语句添加到上面的语句中,我会在普通函数中执行此操作?
def normal_register_function(request):
if request.user is not None:
return redirect('home')
# register logic
return render(request, 'register.html', data)
最佳答案
像这样:
class RegisterView(generic.CreateView):
model = User
form_class = forms.RegisterForm
template_name = 'register.html'
success_url = reverse_lazy('platforms')
def get(self, request, *args, **kwargs):
if request.user is not None:
return redirect('home')
# register logic
return render(request, 'register.html', data)
def form_valid(self, form):
response = super(RegisterView, self).form_valid(form)
user = authenticate(username=form.instance.username, password=form.cleaned_data['password'])
login(self.request, user)
return response
关于python - 如何向类 View 添加逻辑,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34231593/