![](/img/trans.png)
[英]'UserCreationForm' object has no attribute 'get_username' django 1.8
[英]'UserCreationForm' object has no attribute 'FormWrapper' in Django
為什么我要面對這個問題,以前的形式是FormWrapper已從新的Django版本中刪除。
from django.shortcuts import render
from django.http import HttpResponse
from books.models import Author
from models import ContactForm
from django.db.models import Q
#from django.shortcuts import render_to_response
from django.http import HttpResponseRedirect
from django.shortcuts import render_to_response
from django.core.mail import send_mail
from django.template import RequestContext, loader
from django.template.engine import (
_context_instance_undefined, _dictionary_undefined, _dirs_undefined,
)
#from django oldforms as forms
from django.contrib.auth.forms import UserCreatForm
def register(request):
form = UserCreationForm()
if request.method == 'POST':
data = request.POST.copy()
errors = form.get_validation_errors(data)
if not errors:
new_user = form.save(data)
return HttpResponseRedirect("/books/")
else:
data, errors = {}, {}
return render_to_response("registration/register.html", {
'form' : form.FormWrapper(form, data, errors)
})
Yikes-這是一些難看的代碼。 您確實回答了自己的問題-導入失敗,因為該類不再存在。
為什么不只是:
from django.contrib.auth.forms import UserCreationForm
from django.core.urlresolvers import reverse
from django.http import HttpResponseRedirect
from django.shortcuts import render
def register(request):
form = UserCreationForm(data=request.POST or None)
if request.method == 'POST' and form.is_valid():
form.save()
return HttpResponseRedirect(reverse('name-of-books-url'))
return render(request, 'registration/register.html', {'form': form}
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.