使用带有 cookie-cutter 配置的自定义用户模型在注册表单中添加字段

问题描述

我将此添加到我的models.py:

class User(AbstractUser):
    """Default user ."""
    name = CharField(_("Name of User"),blank=True,max_length=255)
    first_name = None  # type: ignore
    last_name = None  # type: ignore
    is_organisor = models.BooleanField(default=True)
    is_agent = models.BooleanField(default=False)
    company = models.ForeignKey("organisation",on_delete=models.CASCADE,related_name='company',default=None)

我想在我的 signup.html 中添加公司字段。 由于我没有更改 cookie-cutter 配置中的任何内容,我该如何将此必填字段添加注册表单中?

admin.py

   from django.contrib import admin
from django.contrib.auth import admin as auth_admin
from django.contrib.auth import get_user_model
from django.utils.translation import gettext_lazy as _
from .forms import CustomUserCreationForm
from awesomeinventory.users.forms import UserChangeForm,UserCreationForm

User = get_user_model()

@admin.register(User)
class CustomUserAdmin(admin.ModelAdmin):
    add_form = CustomUserCreationForm
    list_display = ['email','company']
    search_fields = ["email"]

views.py

from django.utils.translation import gettext_lazy as _
from django.views.generic import DetailView,RedirectView,UpdateView,CreateView
from .forms import CustomUserCreationForm,CustomUserChangeForm

User = get_user_model()

class SignupView(CreateView):
    form_class = CustomUserCreationForm
    success_url = '/accounts/login'
    template_name = 'account/signup.html'

解决方法

暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!

如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。

小编邮箱:dio#foxmail.com (将#修改为@)