我有两种形式的两种模型,我需要将它们发送到我的模板中,以前在django 2中工作正常,但是现在我更新到django并不能很好地返回,如果我删除了 dict 和 views.py 中的 RequestContext(request)),它赎回了html,但没有显示我的表单,我显示了以下内容代码
forms.py
class UserForm(UserCreationForm):
class Meta:
model = User
fields = ('username', 'first_name', 'last_name', 'email', 'password1', 'password2')
class UserProfileForm(ModelForm):
class Meta:
model = UserProfile
fields = ('empresa', 'telefono', 'rfc', 'upload')
urls.py
urlpatterns = [
url(r'^registro$', views.registro, name='registro'),
]
views.py
def registro(request):
if request.method == 'POST':
uf = UserForm(request.POST, prefix='user')
upf = UserProfileForm(request.POST, prefix='userprofile')
if uf.is_valid() * upf.is_valid():
user = uf.save()
userprofile = upf.save(commit=False)
userprofile.user = user
userprofile.save()
name = 'Registro Pagina'
email = 'main@example.com'
fullemail = name + " " + "<" + email + ">"
content = {"%s: %s" % (key,
value) for (key,
value) in list(request.POST.items())}
content = "\n".join(content)
message = str(upf)
msg = EmailMessage('new register',
content,
fullemail,
['main@example.com',
'other@example.com'])
#msg.content_subtype = "html" # Main content is now text/html
msg.send()
return HttpResponseRedirect('/')
else:
uf = UserForm(prefix='user')
upf = UserProfileForm(prefix='userprofile')
return render(request, 'cfdipanel/register.html',
dict(userform=uf,
userprofileform=upf),
RequestContext(request))