I'm trying to add a new page in Django but getting 404 error yet I've added urls and views

Viewed 23

I'm a newbie trying to add an a new page but get the following error:

Page not found (404)
Request Method:     GET
Request URL:    http://127.0.0.1:8000/study
Using the URLconf defined in student_management_system.urls, Django tried these URL patterns, in this order: 

I've added a function for the page in Views.py and also added the path in URLS.py.

StudentViews.py ---> in student management app folder:

from django.shortcuts import render, redirect
from django.http import HttpResponse, HttpResponseRedirect
from django.contrib import messages
from django.core.files.storage import FileSystemStorage  # To upload Profile Picture
from django.urls import reverse
import datetime  # To Parse input DateTime into Python Date Time Object

from student_management_app.models import CustomUser, Staffs, Courses, Subjects, Students, Attendance, AttendanceReport, \
    LeaveReportStudent, FeedBackStudent, StudentResult 

def study(request):
    return render(request, "student_template/study.html")

Views.py ---> in student management app folder:

# from channels.auth import login, logout
from django.contrib.auth import authenticate, login, logout
from django.http import HttpResponseRedirect, HttpResponse
from django.shortcuts import render, redirect
from django.contrib import messages

from student_management_app.EmailBackEnd import EmailBackEnd

def home(request):
    return render(request, 'index.html')

def loginPage(request):
    return render(request, 'login.html')

def doLogin(request):
    if request.method != "POST":
        return HttpResponse("<h2>Method Not Allowed</h2>")
    else:
        user = EmailBackEnd.authenticate(request, username=request.POST.get('email'), password=request.POST.get('password'))
        if user != None:
            login(request, user)
            user_type = user.user_type
            #return HttpResponse("Email: "+request.POST.get('email')+ " Password: "+request.POST.get('password'))
            if user_type == '1':
                return redirect('admin_home')
                
            elif user_type == '2':
                # return HttpResponse("Staff Login")
                return redirect('staff_home')
                
            elif user_type == '3':
                # return HttpResponse("Student Login")
                return redirect('student_home')
            else:
                messages.error(request, "Invalid Login!")
                return redirect('login')
        else:
            messages.error(request, "Invalid Login Credentials!")
            #return HttpResponseRedirect("/")
            return redirect('login')

def get_user_details(request):
    if request.user != None:
        return HttpResponse("User: "+request.user.email+" User Type: "+request.user.user_type)
    else:
        return HttpResponse("Please Login First")

def logout_user(request):
    logout(request)
    return HttpResponseRedirect('/')

URLS.py ---> in student management app folder:

from django.urls import path, include
from . import views
from .import HodViews, StaffViews, StudentViews

urlpatterns = [
    path('', views.loginPage, name="login"),
    path('student_view_result/', StudentViews.student_view_result, name="student_view_result"),
    path('study/', StudentViews.study, name="study"),
    ]

Urls.py for the whole system:

from django.contrib import admin
from django.urls import path, include
from django.conf.urls.static import static
from student_management_system import settings

urlpatterns = [
    path('admin/', admin.site.urls),
    path('', include('student_management_app.urls')),
]+static(settings.MEDIA_URL, document_root=settings.MEDIA_ROOT)

How could I resolve this error? And why it reported this error?

0 Answers
Related