我已经在我的Django应用程序中实现了登录和注册表单。目前它们正在通过相应的视图渲染到sign .html和login.html页面,如下所示
def user_login(request):
if request.method == 'POST':
#do some authentication stuff login as stay on the page
login_form = LoginForm(request.POST)
if login_form.is_valid():
cleaned_form_data = login_form.cleaned_data
user = authenticate(username = cleaned_form_data['username'],
password = cleaned_form_data['password'])
if user is not None:
#proceed to login if active
if user.is_active:
login(request,user)
#return HttpResponse('Successfully Logged In')
messages.success(request,'Login successfull')
else:
return HttpResponse('Inactive User')
else:
return HttpResponse('Invalid Login')
else:
login_form = LoginForm()
template = 'accounts/login.html'
context = {'form':login_form,}
return render(request,template,context)
def register(request):
if request.method == 'POST':
form = RegisterForm(request.POST)
if form.is_valid():
new_user = form.save(commit = False)
password = form.cleaned_data['password']
new_user.set_password(password)
new_user.save()
return render(request,'accounts/reg_success.html',{'new_user':new_user,})
else:
form = RegisterForm()
template = 'accounts/register.html'
context = {'form':form,}
return render(request,template,context)
我如何实现这一点,使我有发送到每个页面的表单,可以使用Javascript情态登录和注册用户。谢谢。
我不是专家,但我认为有两个解决方案:
- 使用AJAX GET加载模态内容到
user_login
- 使用包含模态内容的
base.html
,然后每个页面都可以使用{% extends 'base.html' %}扩展基页