Django отображение формы на основе булева

Я пытаюсь использовать django-formtools. У меня установлен pip, и он есть в моем settings.py, а также в requirements.text.

В настоящее время моя страница /signup работает для регистрации пользователей, но теперь я хочу добавить другой тип пользователя в начале формы. У него есть этот поток. Я просто хочу убедиться, что формы отображаются в настоящее время.

1. Displays different form based off first form's boolean.
is False: display normal signup form(done)
is True: display form with an added file field
2. Handles the form differently as well
is False: saves the form as an abstractuser(done)
is True: sends to db for an admin to add to.

modals.py

class PickUserType(forms.Form):
    is_doctor = forms.BooleanField()

class SignUpForm(UserCreationForm):
    first_name = forms.CharField(max_length=30, required=False, help_text='Optional.')
    last_name = forms.CharField(max_length=30, required=False, help_text='Optional.')
    email = forms.EmailField(max_length=254, help_text='Required. Inform a valid email address.')

    class Meta:
        model = Profile
        fields = ('username', 'first_name', 'last_name', 'email', 'password1', 'password2', )
    

views.py

def signup(request):
    if request.method == 'POST':
        form = SignUpForm(request.POST)
        if form.is_valid():
            form.save()
            username = form.cleaned_data.get('username')
            raw_password = form.cleaned_data.get('password1')
            user = authenticate(username=username, password=raw_password)
            login(request, user)
            return redirect('home')
    else:
        form = SignUpForm()
    return render(request, 'registration/signup.html', {'form': form})

urls.py

from django.urls import path
from pages.views import index, signup

urlpatterns = [
    path('', index, name='home'), 
    path('signup/', signup, name="signup"),
]

signup.html

{% extends 'base.html' %}

{% block title %}Sign up{% endblock %}

{% block content %}
  <h2>Sign up</h2>
  <form method="post">
    {% csrf_token %}
    {% for field in form %}
      <p>
        {{ field.label_tag }}<br>
        {{ field }}
        {% if field.help_text %}
          <small style="color: grey">{{ field.help_text }}</small>
        {% endif %}
        {% for error in field.errors %}
          <p style="color: red">{{ error }}</p>
        {% endfor %}
      </p>
    {% endfor %}
    <button type="submit">Sign up</button>
    <a href="{% url 'login' %}">Log In</a>
  </form>
{% endblock %}
Вернуться на верх