I am working on a form using the Django framework and I keep getting a 405 error which I can't seem to fix. I have an html template which contains a form allowing admins to add new TAs to the database accountAdd.html <html lang="en"> <head> <meta charset="UTF-8"> <title>Edit Courses</title> <style> body { font-family: Arial, sans-serif; padding: 2rem; background-color: #f4f4f4; } .container { max-width: 600px; margin: auto; background: #fff; padding: 2rem; box-shadow: 0 0 10px rgba(0,0,0,0.1); } h1 { text-align: center; margin-bottom: 1.5rem; } label { display: block; margin-bottom: 0.5rem; font-weight: bold; } select { width: 100%; padding: 0.5rem; margin-bottom: 1rem; border: 1px solid #ccc; border-radius: 4px; } .button-group { display: flex; justify-content: space-between; } button { background-color: #333; color: #fff; padding: 0.5rem 1.5rem; border: none; border-radius: 4px; cursor: pointer; } button:hover { background-color: #555; } </style> </head> <body> <center> <div class="container"> <h1>Add Account</h1> {% if submitted%} TA added succesfully {% else %} <form action ="" method=POST> {% csrf_token %} {{form.as_p}} <input type="submit" value="Submit"> </form> {% endif %} </div> </center> </body> </html> Views.py (relevant method and imports only) from django.shortcuts import render from django.views import View from .models import * from .forms import * from django.http import HttpResponseRedirect class accountAdd(View): def get(self,request): submitted = False if request.method == 'POST': form = TAForm(request.POST) if form.is_valid(): form.save() return HttpResponseRedirect('accountAdd?submitted=True') else: form = TAForm if 'submitted' in request.GET: submitted = True form = TAForm return render(request,'accountAdd.html', {'form': form, 'submitted': submitted}) urls.py from django.urls import path from . import views urlpatterns = [ path('directory', views.directory.as_view(), name='directory'), path("courseDetails", views.courseDetails.as_view(), name='courseDetails'), path("courseEdit", views.courseEdit.as_view(), name='courseEdit'), path("", views.login.as_view(), name='login'), path("accountEdit", views.accountEdit.as_view(), name='accountEdit'), path('courseDetails/<str:courseID>', views.courseDetails.as_view(), name='courseDetails' ), path("accountAdd", views.accountAdd.as_view(), name='accountAdd'), ] TA model in models.py class TA(models.Model): name = models.CharField(max_length=100) phoneNum = models.CharField(max_length = 10) email = models.CharField(max_length = 100) officeHours = models.CharField(max_length = 100) password = models.CharField(max_length = 100, default = "pass") What could be causing this issue? I am using sql-lite which automatically adds ids to the tables, could this have something to do with the issue? Continue reading...