Django ошибка 405

Простая форма в шаблоне которая отправляет данные через get запрос

<!DOCTYPE html>
{% load static %}
<html>
<head>
    <meta charset="utf-8" />
</head>
<body>

</body>
    <div class="centr">
        <h1>{{post.title}}</h1>
        <p>{{post.text}}</p>
        <span class="day">{{post.pub_date}}</span><br />
        <a href={{post.get_absolute_url}}><img class="like" height="20" src="{% static "myblog/images/licke.jpg" %}" alt="h"></a>
        <h2>Enter your comment</h2>
        <form ction="{% url 'comment' post.pk %}" method="get">
            {%  csrf_token %}
            <label>Name:</label><br />
            <input placeholder="name" type="text" name="author" /><br />
            <label>Email:</label><br />
            <input placeholder=" Email" type="text" name="email" /><br />
            <label>Comment:</label><br />
            <textarea name="comment" cols="30" rows="10" name="text"></textarea><br />
            <button type="submit">send</button>
        </form>
    </div>
</body>
</html> 

стоит только мне написать method="post" как браузер выдаёт 405 ошибку Method Not Allowed

views:

from .models import User,Post,Comment
from django.views.generic import ListView, DetailView
from django.views.generic.base import View
# Create your views here.

class Index_detail(DetailView):
    model = Post
    slug_field = 'url'
    template_name = 'myblog/index_detail.html'
    context_object_name = 'post'

class All_post(ListView):
    model = Post
    template_name = 'myblog/index.html'
    context_object_name = 'post'

class Add_Comment(View):
    def post(self, request, pk):
        print(request.POST)
        model = Comment.object.get(pk = pk)
        return redirect(model.get_absolute_url)

models:

from django.db import models
from django.urls import reverse
# Create your models here.
class User(models.Model):
    name =  models.CharField(max_length = 30)
    register_date = models.DateField(auto_now_add = True)

    def __str__(self):
        return self.name

class Post(models.Model):
    title = models.CharField(max_length = 200)
    text = models.TextField()
    pub_date = models.DateField(auto_now_add = True)
    like = models.IntegerField(null = True, blank = True, default = 0)
    author = models.ForeignKey(User, related_name = 'author', on_delete=models.CASCADE, null=True, blank = True)
    url = models.SlugField(max_length = 100, unique = True, null = True, blank = True)

    def __str__(self):
        return self.title

    def get_absolute_url(self):
        return reverse('detail', kwargs = {'slug' : self.url })
    #post = ...  как-то нашли пост
    #comments = post.comments.all()

class Comment(models.Model):
    author = models.ForeignKey(
        User,
        on_delete=models.CASCADE,
        # параметр related_name нужен, если хотите 
        # чтобы из модели User можно было достать все комментарии
        related_name='comments', 
        #если коллекция комментариев в User не нужна - укажите 
        # вместо имени '+' как в следующей строке
        #related_name='+',
    )
    text = models.TextField()
    post = models.ForeignKey(
        Post,
        on_delete=models.CASCADE,
        related_name='comments'
    )
    email = models.CharField(max_length = 100)
    data = models.DateField(auto_now_add = True)
    def __str__(self):
        if len(self.text) <= 15:
            return self.text
        else:
            return self.text[:16]

urls:

from django.contrib import admin
from django.urls import path
from myblog import views
urlpatterns = [
    path('admin/', admin.site.urls),
    path('posts/<slug:slug>/', views.Index_detail.as_view(), name = 'detail'),
    path('',views.All_post.as_view(), name = 'index'),
    path('comment/<int:pk>',views.Add_Comment.as_view(), name = 'comment')
]

вопрос почему при использовании post вылетает ошибка


Ответы (0 шт):