我开始尝试清理我的一些代码,并且在测试时,我一直遇到这个错误:'log_in' object has no attribute 'cleaned_data'
作为一个背景,代码检查提交两个表单中的哪一个({{ 1}})然后进行一些验证,例如检查它是某个主机上的电子邮件地址。它返回html对象,这些对象为调用页面的javascript提供指令(例如显示其他表单或显示错误)。这是一个非常简单的没有JSON的ajax,因为该站点非常小且流量非常低(每天最多100个用户。这不太可能)
log_in_is_new_form()
完整错误:
def log_in_pass_match(form):
cleaned = form.cleaned_data
if cleaned['password'] == cleaned['password2']:
return true
else:
return false
def log_in_is_bbn(form):
email_bbn = form.cleaned_data['username'].split("@")
if 'bbns.org' in email_bbn:
return True
else:
return False
def log_in_is_new_form( post):
if "TN" in post:
return True
else:
return False
def log_in_already_user(form):
form.is_valid
user_object = User.objects.filter(email = form.cleaned_data['username'])
if user_object.exists():
return True
else:
return False
def log_in_send_act(form):
cleaned = form.cleaned_data['username']
msg = "sfsd"
send_mail('Activate', msg, 'michaelrgoldfine@gmail.com', [cleaned['username']], fail_silently=False)
new_user_object = User.objects.create_user(
username=cleaned_info_new['username'],
password=cleaned_info_new['password'],
email=cleaned_info_new['username']
)
def user_log_in(request):
error = []
form = log_in(request.POST)
if not log_in_already_user(form):
form = new_user(request.POST)
if log_in_is_new_form():
form_is_valid = True
other_is_valid = True
if form.is_valid():
if log_in_is_bbn(form = form) and log_in_pass_match(form = form):
other_is_valid = True
else:
other_is_valid = False
else:
form_is_valid = False
if form_is_valid and other_is_valid:
msg = "In order to activate your account at Knights of the Round Table, please click on this link:"
try:
user_object = User.objects.create_user(
username=cleaned_info_new['username'],
password=cleaned_info_new['password'],
email=cleaned_info_new['username']
)
log_in_send_act(form = form)
new_user_profile = user_object.get_profile()
new_user_profile.pen_name = form.cleaned_data['pen_name']
new_user_profile.activated = False;
new_user_profile.save()
return HttpResponse("not_act")
except:
error.append("Error Sending Email")
else:
if not other_is_valid and log_in_is_new_form(request.POST):
if log_in_is_bbn(form = form):
error.append('BBN email addresses only: [first initial][last name]@bbns.org.')
if log_in_pass_match(form = form):
error.append('Passwords do not match')
for n in form._errors:
for e in form._errors[n]:
error.append(e)
else:
return HttpResponse("n_usr")
else:
if form.is_valid():
if log_in_already_user():
logged_in_user = auth.authenticate(username=form.cleaned_data['username'], password=form.cleaned_data['password'])
if loged_in_user is not None:
if user_object[0].get_profile().activated:
auth.login(request, logged_in_user)
return HttpResponseRedirect("")
else:
return HttpResponse("not_act")
else:
error.append('Password Incorrect')
errors_template = Template("{% for e in errors %}<li>{{ e }}</li> {% endfor %}")
errors_html = errors_template.render(Context({'errors':error}))
return HttpResponse(errors_html)
答案 0 :(得分:1)
您实际上并未在此处致电is_valid
:
form.is_valid # missing the call ()