如何让一个注册和登录表单在每个页面上都可以访问,我可以使用模式Django 1.8



我已经在我的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情态登录和注册用户。谢谢。

我不是专家,但我认为有两个解决方案:

  1. 使用AJAX GET加载模态内容到user_login
  2. 使用包含模态内容的base.html,然后每个页面都可以使用{% extends 'base.html' %}扩展基页

相关内容

最新更新