python - Failed to load resource: the server responded with a status of 405 (METHOD NOT ALLOWED) in django -
i making app in django. index.html page.
<!doctype html> <html> <head> <title>the index page</title> </head> <body> <h1>choose name of student</h1> <form action= "{% url 'detail' %}" method="post" enctype="multipart/form-data"> {% csrf_token %} <select name="namedrop"> {% name in student_list %} <option>{{name.stuname}}</option> {% endfor %} </select> <input type="submit" name="submit"> </form> </body> </html> it creates drop down list of name of students. when select 1 , click on submit button, opens new page detail fails show on page. error showing failed load resource: server responded status of 405 (method not allowed). views.py below:
from .models import student,subject django.views import generic django.views.generic import view django.shortcuts import render class indexview(generic.listview): template_name= 'studinfo/index.html' context_object_name= 'student_list' def get_queryset(self): return student.objects.all() class detailview(generic.detailview): model= student,subject template_name='studinfo/detail.html' def getname(request): if request.method=='post': name=request.get['namedrop'] return render(request, 'detail.html', {'name':name}) this urls.py
from django.conf.urls import url . import views .models import student urlpatterns= [ url(r'^$',views.indexview.as_view(),name='index'), url(r'^detail/$',views.detailview.as_view(),name='detail'), ] .models import student django.views import generic django.views.generic import view django.http import http404 django.shortcuts import render class indexview(generic.listview): template_name= 'studinfo/index.html' context_object_name= 'student_list' def get_queryset(self): return student.objects.all() def detail(request,student_id): try: p = student.objects.get(pk=student_id) except student.doesnotexist: raise http404("poll not exist") return render(request, 'studinfo/detail.html', {'name': p}) this view now..now raising error ..typeerror @ /studinfo/detail/ detail() takes 2 arguments (1 given) request method: post 500 (internal server error)
detailview can not process post requests. detailview allows requests. 405 method not allowed error raised when using wrong request method since not allow post request it raising 405 error.
i see have getname view. think trying use that. if not have change url view accepts post requests. more on detailview can read here
Comments
Post a Comment