[英]Different models in one view
嗨,我在django非常陌生。 我想知道是否可以在一個視圖中使用不同的模型。 因此,我查看了此頁面https://collingrady.wordpress.com/2008/02/18/editing-multiple-objects-in-django-with-newforms/它非常有用,但在瀏覽器頁面上看不到輸出。 我在哪里弄錯了?
from .models import Contact, MyUser
from .forms import ContactForm, UserRegisterForm
from django.http import HttpResponseRedirect
from django.shortcuts import render_to_response
def total_register(request):
uform = UserRegisterForm()
cform = ContactForm()
if request.method == "POST":
uform = UserRegisterForm(request.POST or None, instance=MyUser())
cform = [ContactForm(request.POST or None, prefix=str(x), instance=Contact()) for x in range(0,19)]
if uform.is_valid() and all([cf.is_valid() for cf in cform]):
new_MyUser = uform.save()
for cf in cform:
new_contact = cf.save(commit=False)
new_contact.MyUser = new_MyUser
new_contact.save()
return HttpResponseRedirect('/')
else:
pform = UserRegisterForm(instance=MyUser())
cform = [ContactForm(prefix=str(x), instance=Contact()) for x in range(0,19)]
return render_to_response('total_register.html', {'UserRegisterForm': uform, 'ContactForm': cform})
class UserRegisterForm(forms.ModelForm):
username = forms.CharField(label = 'isminizi giriniz')
lastname = forms.CharField(label = 'soyisminizi giriniz')
password = forms.CharField(widget=forms.PasswordInput)
class Meta:
model = User
fields = [
'username',
'lastname',
]
def signup(self, request, user):
user.username = self.cleaned_data['username']
user.lastname = self.cleaned_data['lastname']
user.save()
class ContactForm(forms.ModelForm):
class Meta:
model = Contact
fields = ['username','soyad','cinsiyet','unvan','kurum',"bolum","gorev", "uzmanlik","adres","posta_kodu","sehir","ulke","is_tel","ev_tel","fax_no","cep_tel","email"]
url(r'^kayit/', bildirge.views.total_register, name = 'kayit'),
{% extends "base.html" %}
{% load crispy_forms_tags %}
{% block content %}
<div class='col-sm-6 col-sm-offset-3'>
<h1>{{ title }}</h1>
<hr/>
<form method='POST' action='' enctype='multipart/form-data'>{% csrf_token %}
{{ form|crispy }}
<button type='submit'>gonder</button>
</form>
</div>
{% endblock content %}
提前致謝
您在模板中使用變量form
,但是將UserRegisterForm
和ContactForm
作為模板上下文傳遞。
嘗試類似:
<form...>
{{ UserRegisterForm }}
{% for form in ContactForm %}
{{ form }}
{% endfor %}
</form>
兩個提示:
您已經向模板發送了兩個變量,分別是鍵UserRegisterForm
和ContactForm
。 您必須在模板中使用這些名稱,而不僅僅是form
。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.