django - 我正在尝试在 Django 中添加一个新页面,但出现 404 错误,但我已经添加了 url 和视图
问题描述
我是一个新手,试图添加一个新页面,但收到以下错误:
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:
我已经为页面添加了一个函数,Views.py
并且还在URLS.py
.
StudentViews.py
---> 在学生管理应用程序文件夹中:
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
---> 在学生管理应用程序文件夹中:
# 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
---> 在学生管理应用程序文件夹中:
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
对于整个系统:
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)
我该如何解决这个错误?为什么会报这个错误?