please check below view Function -- You received this message because you are subscribed to the Google Groups "Django users" group. To unsubscribe from this group and stop receiving emails from it, send an email to django-users+unsubscr...@googlegroups.com. To view this discussion on the web visit https://groups.google.com/d/msgid/django-users/8d5c1a31-8781-4eec-8840-bc6b58969c97n%40googlegroups.com.
from django.shortcuts import render from django.shortcuts import redirect from django.urls import reverse from django.shortcuts import get_object_or_404 from django.http import HttpResponseRedirect, HttpResponse from django import forms from django.contrib.auth.forms import UserCreationForm # Create your views here. # from .forms import Profile from userapp.models import BabyInfo,Profile,UserOTP from userapp.forms import BabyForm1,BabyForm2,BabyupdateForm1,BabyupdateForm2 import string from django.core.mail import send_mail from django.contrib import messages from django.contrib.messages import constants import random from django.template.loader import render_to_string from .forms import SignUpForm from django.contrib.auth.models import User from django.core.mail import send_mail from django.conf import settings from django.http import HttpResponse, Http404, JsonResponse from django.contrib.auth.forms import AuthenticationForm, PasswordChangeForm from django.contrib.auth import authenticate, login from django.contrib.auth.decorators import login_required from django.views.decorators.csrf import csrf_exempt from django.core import serializers from django.core.paginator import Paginator, EmptyPage, PageNotAnInteger
from package import views import itertools letters = string.ascii_lowercase result_str = ''.join(random.choice(letters) for i in range(8)) def page(request): print(User.objects.all().values()) return render(request,'userapp_temp/landing_page.html') def home(request): return render(request,'userapp_temp/home.html',) # def index(request): # return render(request, 'userapp_temp/index.html', {'title':'index'}) # def login(request): # return render(request,'userapp_temp/login.html') # # def register(request): # return render(request,'userapp_temp/signup.html') # def profile(request): # return render(request,'userapp_temp/profile.html') #########################(BABY_PROFILE_DETAIL(detail))################################################################################ @login_required() def detail(request): # print(request.POST) if request.method == 'POST': # print(request.POST.getlist('name')) baby_form1 = BabyForm1(data=request.POST) baby_form2 = BabyForm2(data=request.POST) story_name= request.POST['story_name'] born_status= request.POST['born_status'] baby_date= request.POST['baby_date'] profile_pic= request.POST['profile_pic'] gender= request.POST['gender'] name= request.POST.getlist('name') mail_id= request.POST.getlist('mail_id') relationship= request.POST.getlist('relationship') # if request.method == 'POST' and 'profile_pic' in request.FILES: # pic = request.FILES['profile_pic'] # pic_name = pic['profile_pic'] # if 'profile_pic' in request.POST: # profile_pic= request.POST['profile_pic'] # # else: # profile_pic = False # print(story_name,baby_date,profile_pic,name,mail_id,relationship) for (name,mail_id,relationship) in zip(name,mail_id,relationship): letters = string.ascii_lowercase result_str = ''.join(random.choice(letters) for i in range(8)) # print(request.user.username) if User.objects.filter(email=mail_id).exists(): messages.add_message(request, constants.SUCCESS, 'user name already taken') print('already taken') else: newuser = User.objects.create_user(username=mail_id,email=mail_id,password=result_str) newuser.save() template = render_to_string("userapp_temp/newusermail.html",{'email':mail_id,'password':result_str}) send_mail( 'New user', template, 'mohansaravanan...@gmail.com', [mail_id], fail_silently=False, ) babyinfo= BabyInfo.objects.create(user=request.user,story_name=story_name,born_status=born_status,baby_date=baby_date,profile_pic=profile_pic,gender=gender) if 'profile_pic' in request.FILES: babyinfo.profile_pic = request.FILES['profile_pic'] babyinfo.save() profile= Profile.objects.create(user=request.user,name=name,mail_id=mail_id,relationship=relationship,babyinfo=babyinfo) profile.save() # b = profile(babyinfo=babyinfo.id) # b.save() return redirect('babyinfo') else: baby_form1 = BabyForm1() baby_form2 = BabyForm2() return render(request,'userapp_temp/profile.html', {'baby_form1':baby_form1, 'baby_form2':baby_form2,}) ##########################(BABY_PROFILE_DETAIL(babyinfo))######################################################################################## def babydetail(request): # print(Profile.objects.all()) profileinfo = Profile.objects.filter(user=request.user.id).values() for babyinfo_id in profileinfo: # print(babyinfo_id) b_id = babyinfo_id['babyinfo_id'] # print(b_id) babyinfo = BabyInfo.objects.filter(id=b_id).values() # print(babyinfo) context = { 'babyinfo':babyinfo, 'profileinfo':profileinfo, } return render(request,'userapp_temp/profile_detail.html',context) ##########################(BABY_PROFILE_DETAIL(babyinfoupdate))######################################################################################## def babyupdate(request): if request.method == 'POST': baby_form1 = BabyupdateForm1(data=request.POST) baby_form2 = BabyupdateForm2(data=request.POST) story_name= request.POST['story_name'] born_status= request.POST['born_status'] baby_date= request.POST['baby_date'] profile_pic= request.POST['profile_pic'] gender= request.POST['gender'] # name= request.POST['name'] # mail_id= request.POST['mail_id'] # relationship= request.POST['relationship'] profileinfo = Profile.objects.filter(user=request.user.id).values() for babyinfo_id in profileinfo: b_id = babyinfo_id['babyinfo_id'] babyinfo= BabyInfo.objects.filter(id=b_id).update(story_name=story_name,born_status=born_status,baby_date=baby_date,profile_pic=profile_pic,gender=gender) # profile= Profile.objects.filter(user=request.user.id).update(name=name,mail_id=mail_id,relationship=relationship) return redirect('babyinfo') else: baby_form1 = BabyupdateForm1() baby_form2 = BabyupdateForm2() return render(request,"userapp_temp/profile_update.html", {'baby_form1':baby_form1, 'baby_form2':baby_form2}) ##########################(BABY_PROFILE_END)######################################################################################## ##########################(PACKAGE_BGN)############################################################################################# # def package(request): # # babyinfo = BabyInfo.objects.filter(user=request.user.id) # print(babyinfo ) # for package_id in babyinfo: # print(package_id) # # pck_id = package_id['package_id'] # # print(b_id) # pack = Package.objects.filter(id=pck_id) # print(pack) # return redirect('page') # # print(babyinfo) ##########################(PACKAGE_END)############################################################################################# ##########################(REGISTER & LOG)########################################################################################## def signup(request): if request.method == 'POST': get_otp = request.POST.get('otp') #213243 #None if get_otp: get_usr = request.POST.get('usr') usr = User.objects.get(username=get_usr) if int(get_otp) == UserOTP.objects.filter(user = usr).last().otp: usr.is_staff = True usr.save() messages.success(request, f'Account is Created For {usr.username}') return redirect('login') # return redirect('detail') else: messages.warning(request, f'You Entered a Wrong OTP') return render(request, 'userapp_temp/signup.html', {'otp': True, 'usr': usr}) form = SignUpForm(request.POST) if form.is_valid(): form.save() username = form.cleaned_data.get('username') name = form.cleaned_data.get('name').split(' ') usr = User.objects.get(username=username) usr.email = username usr.first_name = name[0] if len(name) > 1: usr.last_name = name[1] usr.is_staff = False usr.save() usr_otp = random.randint(100000, 999999) UserOTP.objects.create(user = usr, otp = usr_otp) mess = f"Hello {usr.first_name},\nYour OTP is {usr_otp}\nThanks!" send_mail( "Welcome to KuttyStory - Verify Your Email", mess, settings.EMAIL_HOST_USER, [usr.email], fail_silently = False ) return render(request, 'userapp_temp/signup.html', {'otp': True, 'usr': usr}) # if user.is_authenticated: # redirectURL ="https://www.instagram.com/" # print(redirectURL) # return('babyinfo') # login(request, user) # if user. == 'username': # return redirect('babyinfo') # return render(request, 'userapp_temp/signup.html', {'otp': True, 'usr': usr}) else: form = SignUpForm() return render(request, 'userapp_temp/signup.html', {'form':form}) def resend_otp(request): if request.method == "GET": get_usr = request.GET['usr'] if User.objects.filter(username = get_usr).exists() and not User.objects.get(username = get_usr).is_active: usr = User.objects.get(username=get_usr) usr_otp = random.randint(100000, 999999) UserOTP.objects.create(user = usr, otp = usr_otp) mess = f"Hello {usr.first_name},\nYour OTP is {usr_otp}\nThanks!" send_mail( "Welcome to KuttyStory - Verify Your Email", mess, settings.EMAIL_HOST_USER, [usr.email], fail_silently = False ) return HttpResponse("Resend") return HttpResponse("Can't Send ") ##########################(REGISTER(END))########################################################################################### ##########################(LOGIN)################################################################################################### def login_view(request): if request.user.is_authenticated: # if last_login == 20210621 return redirect('babyinfo') # if last_login is not None: # return redirect('detail') # else: # return redirect('babyinfo') if request.method == 'POST': get_otp = request.POST.get('otp') #213243 #None if get_otp: get_usr = request.POST.get('usr') usr = User.objects.get(username=get_usr) if int(get_otp) == UserOTP.objects.filter(user = usr).last().otp: usr.is_staff = True usr.save() login(request, usr) return redirect('detail') # if last_login is not None: # return redirect('detail') # else: # return redirect('babyinfo') else: messages.warning(request, f'You Entered a Wrong OTP') return render(request, 'userapp_temp/login.html', {'otp': True, 'usr': usr}) usrname = request.POST['username'] passwd = request.POST['password'] # lst = request.POST['last_login'] user = authenticate(request, username = usrname, password = passwd) #None if user is not None: # print(request.user) # var = BabyInfo.objects.filter(user_id=request.user.id).values() # print(var) login(request, user) # print(request.user.id) var = BabyInfo.objects.filter(user_id=request.user.id).values() # print(var) try: var1 = Profile.objects.filter(mail_id=usrname).values('user_id') profileinfo = Profile.objects.filter(user=var1[0]['user_id']).values() for babyinfo_id in profileinfo: # print(babyinfo_id) b_id = babyinfo_id['babyinfo_id'] # print(b_id) babyinfo = BabyInfo.objects.filter(id=b_id).values() # print(babyinfo) context = { 'babyinfo':babyinfo, 'profileinfo':profileinfo, } return render(request,'userapp_temp/profile_detail.html',context) except: pass try: if var[0]['last_login'] is not None: return redirect('page') else: pass # return redirect('detail') except: return redirect('detail') # return redirect('detail') elif not User.objects.filter(username = usrname).exists(): messages.warning(request, f'Please enter a correct username and password. Note that both fields may be case-sensitive.') return redirect('login') elif not User.objects.get(username=usrname).is_active: usr = User.objects.get(username=usrname) usr_otp = random.randint(100000, 999999) UserOTP.objects.create(user = usr, otp = usr_otp) mess = f"Hello {usr.first_name},\nYour OTP is {usr_otp}\nThanks!" send_mail( "Welcome to KuttyStory - Verify Your Email", mess, settings.EMAIL_HOST_USER, [usr.email], fail_silently = False ) return render(request, 'userapp_temp/login.html', {'otp': True, 'usr': usr}) else: messages.warning(request, f'Please enter a correct username and password. Note that both fields may be case-sensitive.') return redirect('login') form = AuthenticationForm() return render(request, 'userapp_temp/login.html', {'form': form}) ##########################(REGISTER_&_LOGIN(END))#################################################################################################