Хорошо, я знаю традиционный способ обработки форм в django, но на этот раз экспериментировал с чем-то другим. Так что я не знаю, что именно здесь происходит не так, но это просто не работает !!!
Вот как выглядит ошибка
ошибка
То, что я пытаюсь сделать, - это просто простая система регистрации и входа. Есть одна хорошая вещь и одна плохая вещь, которую я частично получаю. Система входа не работает как на chrome, так и на Safari, кстати, я использую только chrome, просто экспериментировал с Safari. Система регистрации работает на Safari, но неудача на chrome
Я пытался это исправить за последние 3-4 часа, может ли кто-нибудь про помочь мне ?????
вот код views.py
from django.shortcuts import render
from django.shortcuts import redirect
from django.http import HttpResponse, HttpResponseRedirect
from django.contrib.auth import authenticate
from django.contrib.auth.models import auth
from django.contrib import messages
from django.urls import reverse
from .forms import *
from django.core.cache import cache
def register(request):
cache.clear()
if request.method == 'POST':
FirstName = request.POST['FirstName']
LastName = request.POST['LastName']
DP = request.POST.get('DP', False)
Username = request.POST['Username']
Email = request.POST['Email']
password = request.POST['password']
if User.objects.filter(Username=Username).exists():
print('Username.taken')
elif User.objects.filter(Email=Email).exists():
print('Your Email already exists')
else:
user = User.objects.create(password=password, Email=Email, Username=Username, DP=DP, LastName=LastName, FirstName=FirstName)
user.save()
print('Bangaya!!!')
return redirect('/')
else:
return render(request, 'register.html')
def login(request):
cache.clear()
if request.method == 'POST':
username = request.POST['Username']
password = request.POST['Password']
user = auth.authenticate(username=username, password=password)
if user is not None:
auth.login(request, user)
print('yes')
return redirect("/")
else:
messages.info(request, 'invalid creds')
return redirect('login')
else:
return render(request, 'login.html')
Вот регистр. html
<form method="post" action="register/">
{% csrf_token %}
<input type="text" name="FirstName"><br>
<input type="text" name="LastName"><br>
<input type="text" name="Username"><br>
<input type="file" name="DP" accept="/image/*"><br>
<input type="email" name="Email"><br>
<input type="password" name="password">
<button type="submit">Submit</button>
</form>
Вот логин. html
<form method="post" action="login/">
{% csrf_token %}
Username <input type="text" name="Username"><br>
Password <input type="password" name="Password"><br>
<button type="submit">Submit</button>
Я немного перепутался с базой данных, уверяю вас, но опять же, технически это не должно работать на сафари в в этом случае ... Я в основном работаю на chrome, поэтому следует объяснить, почему он работает на сафари, но опять же логин не работает на сафари