【发布时间】:2019-06-10 11:02:27
【问题描述】:
我有一个将 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 并且它不会给我带来任何错误
【问题讨论】:
标签: python django django-forms django-templates