私が作成しているWebサイトの規模が小さいため、JSONをスキップして、実際のhtmlまたは何をすべきかを示す1つの単語を返すajaxページを作成することにしました。new_user_pass = new_user(request.POST)
サーバーで突然戻ってくるため、コードにエラーがあるようです500 (INTERNAL SERVER ERROR)
。Webサイトは、ユーザーが以前にログインしたことがあるかどうかを確認し、ログインしたことがある場合は、セッションの作成後にホームページにリダイレクトします(まだコード化されていません)。 )。持っていない場合:JQueryに追加情報を要求するように指示する単語を返します。どこかにエラーがある場合は、ファイルの最後に到達してエラーを返す必要があります(まだ完全にコード化されています)。
これはforms.pyファイルです:
class log_in(forms.Form):
username = forms.EmailField()
password = forms.PasswordInput()
class new_user(forms.Form):
username = forms.EmailField()
password = forms.PasswordInput()
password2 = forms.PasswordInput()
pen_name = forms.CharField(max_length=30)
views.pyファイル:
def user_log_in(request):
#add stuff for ajax request
user_pass = log_in(request.POST)
er = []
if user_pass.is_valid():
cleaned_info = user_pass.cleaned_data
user_object = User.objects.filter(email = cleaned_info['username'])
if user_object.exists():
#create session
return HttpResponseRedirect('/home')
else:
new_user_pass = new_user(request.POST)#where bug is
cleaned_info = new_user_pass.cleaned_data
if new_user_pass.is_valid():
if cleaned_info['password'] == cleaned_info['password2']:
new_user = User(activated = 0, email = cleaned_info['username'], pen_name = cleaned_info['pen_name'], password = cleaned_info['password'])
new_user.save()
msg = ""
if send_mail('Activate', msg, '*******', [cleaned_info['username']], fail_silently=False):
return HttpResponse('e_act')
else:
er.append("Error Sending Email")
else:
er.append('Passwords are not the same')
elif cleaned_info['TN']:
for e in new_user_pass.errors:
er.append(e)
else:
return HttpResponse('n_usr')
return HttpResponse('SOS')
そして、ここにエラーがあるとは思いませんが、Jquery関数は次のとおりです。n_usr= false;
function log_in () {
//add code to check if it's the wrong usr, pass, correct, or if they've never logged in before.
//code to reveal section
編集:Djangoがエラーを出しましたnew_user' referenced before assignment