首页 > 解决方案 > Django - 基于类的通用创建视图中插入对象的 ID

问题描述

我在 Django 中使用通用创建视图进行用户注册:

from django.shortcuts import render, redirect, reverse
from django.views import generic
from .forms import CustomUserCreationForm

class SignupView(generic.CreateView):
    template_name = "registration/signup.html"
    form_class = CustomUserCreationForm

    def form_valid(self, form):
        # This method is called when valid form data has been POSTed.
        # It should return an HttpResponse.
        form.send_email()
        return super().form_valid(form)

    def get_success_url(self):
        return reverse ("login")

在 form_valid 方法中,我需要像这样将创建的用户 ID 传递给 send_mail:form.send_email(user)

在函数视图中,我会使用:user = form.save(commit=False)然后访问 user.pk

如何在基于类的视图中做到这一点?

标签: djangodjango-views

解决方案


推荐阅读