Форма Django не отображается с несколькими формами, представленными в шаблоне в одном представлении - PullRequest
0 голосов
/ 10 июня 2019

У меня есть представление, которое отображает 2 формы в шаблоне, но отображается только одна форма, другая не отображается, и это не дает мне никакой ошибки, но я вижу, что форма отображается при печати в консоли.

Это моя модель для формы не отображается

class Organization(models.Model):
    name = models.CharField(max_length=255, null=True)

Это модель для админа, я наследую от AbstractUSer

class User(AbstractUser):
    is_user = models.BooleanField(default=False)
    is_admin = models.BooleanField(default=False)

Это форма для модели

class OrganizationForm(forms.ModelForm):

    name = forms.CharField(max_length=255)

    class Meta:
        model = Organization
        fields = ['name']

Это форма для администратора

class AdminSignUpForm(UserCreationForm):

    class Meta(UserCreationForm.Meta):
        model = User
        fields = ['username','email']


    def save(self, commit=True):
        user = super().save(commit=False)
        user.is_admin = True
        if commit:
            user.save()
        return user

Это представление, которое я называю множественными формами

def signup(request):
    if request.method == 'POST':
        adminForm = AdminSignUpForm(request.POST)
        orgForm = OrganizationForm(request.POST)
        if adminForm.is_valid() and orgForm.is_valid():
            adminForm.save()
            orgForm.save(commit=False)
            username = adminForm.cleaned_data.get('username')
            raw_password = adminForm.cleaned_data.get('password1')
            user = authenticate(username=username, password=raw_password)
            login(request, user)
            return redirect('myapp:home')
    else:

        adminForm = AdminSignUpForm()
        orgForm = OrganizationForm()

    print(orgForm)
    return render(request, 'registration/signup_form.html', {'OrgFrom': orgForm,'Adminform': adminForm})

И это шаблон, который я рендеринг нескольких форм

 <form enctype="multipart/form-data" method="post" >
        {% csrf_token %}
        <input type="hidden" name="next" value="{{ next }}">


        {{Adminform.as_p }}
        {{ OrgForm.as_p }}
        <button type="submit" class="btn btn-success">Sign up</button>
      </form>

Я ожидаю, что будут отображаться обе формы, но только Adminform отображает, и это не дает мне ошибки для работы с

1 Ответ

2 голосов
/ 10 июня 2019

Есть одна опечатка.Вам нужно использовать {{ OrgFrom.as_p }} вместо {{ Orgform.as_p }}.

...