Register(signup), login ,logout Django

 Register function quick view from views.py

from django.shortcuts import render, redirect
from django.contrib import messages
from django.contrib.auth.models import User, auth
from django.http import HttpResponse

# Create your views here.
# redirect me views wale function ka name dete hai


def Index(request):
    return render(request, 'accounts/index.html')


def register(request):

    if request.method == 'POST':
        first_name = request.POST['first_name']
        last_name = request.POST['last_name']
        user_name = request.POST['user_name']
        pass_word1 = request.POST.get('pass_word1')
        pass_word2 = request.POST.get('pass_word2')
        email_id = request.POST['email_id']

        if pass_word1 == pass_word2:
            if User.objects.filter(username=user_name).exists():
                messages.info(request, 'Username Taken')
                return HttpResponse("username already taken , try again")
                # return redirect('/')
            elif User.objects.filter(email=email_id).exists():
                messages.info(request, 'Email Taken')
                return HttpResponse('Email already taken, try again')
                # return redirect('/')
            else:
                user = User.objects.create_user(
                    username=user_name, password=pass_word1, email=email_id, first_name=first_name, last_name=last_name)
                user.save()
                print('user created')
                return HttpResponse('registration success')
                # return redirect('login')

        else:
            messages.info(request, 'password not matching..')
            # return redirect('account_index')
            return HttpResponse("password not matched, try again")
    else:
        return render(request, 'accounts/register.html')

 Login function quick view from views.py

def Login(request):
    if request.method == 'POST':
        user_name = request.POST.get('user_name')
        pass_word = request.POST.get('pass_word')

        user = auth.authenticate(username=user_name, password=pass_word)

        if user is not None:
            auth.login(request, user)
            return HttpResponse('login success')
            # return redirect("/")
        else:
            messages.info(request, 'invalid credentials')
            return HttpResponse("invalid credentials, try again")
            # return redirect('login')

    else:
        return render(request, 'accounts/login.html')

Logout function quick view from views.py

def Logout(request):
    auth.logout(request)
    return HttpResponse('logout success')
    # return redirect('/')

Login,Logout show condition in html


{% if user.is_authenticated %} <li class="nav-item"> <a class="nav-link" href="{% url 'name_logout' %}">logout</a> </li> {% else %} <li class="nav-item"> <a class="nav-link" href="{% url 'name_login' %}">login</a> </li> {% endif %}

Welcome user

{% if user.is_authenticated %}
<div>
  <h4>Welcome {{user.first_name}}</h4>
</div>
{% endif %}





                                        

Comments

Popular posts from this blog

bookmarks

problem from contest

numpy(Python for data science)

Rural Development