This is my view module
def home(request):
return render(request, 'rescues_site/home_page.html')
# @login_required
def user_home(request):
if request.method == 'POST':
username = request.session.get('username')
context = {
'username': username
}
return render(request, 'rescues_site/home_page.html', context)
def login(request):
if request.method == 'GET':
return render(request, 'registration/login.html')
if request.method == 'POST':
username = request.POST.get('username')
password = request.POST.get('password')
user = authenticate(request, username = username, password = password)
if user is not None and user.is_active and user.is_authenticated:
login(request, user)
request.session['username'] = user.username
return redirect('user_home')
else:
return render(request, 'registration/login.html')
@transaction.atomic
def sign_up(request):
if request.method == 'GET':
return render(request, 'registration/sign_up.html')
if request.method == 'POST':
error = []
first_name = request.POST.get('first_name')
last_name = request.POST.get('last_name')
address = request.POST.get('address')
suburb = request.POST.get('suburb')
postcode = request.POST.get('postcode')
email = request.POST.get('email')
phone_number = request.POST.get('phone_number', None)
password = make_password(request.POST.get('password'))
try:
user = CustomUser.objects.create(username = email,
first_name = first_name,
last_name = last_name,
address = address,
suburb = suburb,
postcode = postcode,
phone_number = phone_number,
password = password)
request.session['username'] = user.username
return redirect('user_home')
I tried to login the user and redirect the user to the home page with their cresidentials but what I have is a POST request in the terminal and it take me nowhere.
I'm still new to Django and Python. Thank you for your time!
Maybe you should add in your
urls.pya name for redirect url, where in your case isuser_homeif you did not added alreadyex:
accounts/ login/ [name='login']or you are missing
LOGIN_REDIRECT_URL = '/'insettingsSo if you can provide more info it will be better and I suggest for better understanding and reading more about how Django permissions and authentication works: Django Tutorial Part 8: User authentication and permissions - Learn web development | MDN