Подскажите в чем проблема плз!

views.py:
from django.http import HttpResponse
from django.shortcuts import render, redirect
from datetime import datetime


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


def contacts(request):
    return render(request, 'contacts.html')


publications_data = [
    {
        'id': 0,
        'name': 'Моя первая публикация',
        'date': datetime.now(),
        'text': '''Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Felis eget nunc lobortis mattis aliquam faucibus. Ac tincidunt vitae semper quis lectus nulla at volutpat diam. Sed felis eget velit aliquet sagittis id. Etiam sit amet nisl purus in. Amet porttitor eget dolor morbi non. Ut diam quam nulla porttitor massa id neque aliquam. At volutpat diam ut venenatis tellus in metus vulputate. Turpis cursus in hac habitasse platea dictumst quisque sagittis purus. Orci nulla pellentesque dignissim enim sit amet venenatis urna. Sollicitudin tempor id eu nisl nunc. Mauris in aliquam sem fringilla ut morbi. Diam vel quam elementum pulvinar etiam non quam lacus suspendisse. Iaculis at erat pellentesque adipiscing commodo elit at imperdiet dui. Elit sed vulputate mi sit. Enim praesent elementum facilisis leo vel fringilla est ullamcorper. Aliquet risus feugiat in ante metus dictum at tempor commodo.
                   <br><br>Et leo duis ut diam quam nulla porttitor massa. Ut ornare lectus sit amet est. Aliquam sem et tortor consequat id. Volutpat est velit egestas dui id ornare arcu. Sed cras ornare arcu dui. Maecenas accumsan lacus vel facilisis volutpat. Nisl vel pretium lectus quam id leo. Lacus luctus accumsan tortor posuere. Quis lectus nulla at volutpat diam ut. Suspendisse potenti nullam ac tortor vitae purus faucibus. Risus pretium quam vulputate dignissim suspendisse. Felis eget nunc lobortis mattis aliquam faucibus purus in massa. Porttitor eget dolor morbi non arcu risus. Tellus in metus vulputate eu scelerisque felis imperdiet proin.'''
    },
    {
        'id': 1,
        'name': 'Моя вторая публикация',
        'date': datetime.now(),
        'text': '''Многие думают, что Lorem Ipsum - взятый с потолка псевдо-латинский набор слов, но это не совсем так. Его корни уходят в один фрагмент классической латыни 45 года н.э., то есть более двух тысячелетий назад. Ричард МакКлинток, профессор латыни из колледжа Hampden-Sydney, штат Вирджиния, взял одно из самых странных слов в Lorem Ipsum, "consectetur", и занялся его поисками в классической латинской литературе. В результате он нашёл неоспоримый первоисточник Lorem Ipsum в разделах 1.10.32 и 1.10.33 книги "de Finibus Bonorum et Malorum" ("О пределах добра и зла"), написанной Цицероном в 45 году н.э. Этот трактат по теории этики был очень популярен в эпоху Возрождения. Первая строка Lorem Ipsum, "Lorem ipsum dolor sit amet..", происходит от одной из строк в разделе 1.10.32
                   <br><br>Классический текст Lorem Ipsum, используемый с XVI века, приведён ниже. Также даны разделы 1.10.32 и 1.10.33 "de Finibus Bonorum et Malorum" Цицерона и их английский перевод, сделанный H. Rackham, 1914 год.'''
    },
    {
        'id': 2,
        'name': 'Моя третья публикация',
        'date': datetime.now(),
        'text': '''Многие думают, что Lorem Ipsum - взятый с потолка псевдо-латинский набор слов, но это не совсем так. Его корни уходят в один фрагмент классической латыни 45 года н.э., то есть более двух тысячелетий назад. Ричард МакКлинток, профессор латыни из колледжа Hampden-Sydney, штат Вирджиния, взял одно из самых странных слов в Lorem Ipsum, "consectetur", и занялся его поисками в классической латинской литературе. В результате он нашёл неоспоримый первоисточник Lorem Ipsum в разделах 1.10.32 и 1.10.33 книги "de Finibus Bonorum et Malorum" ("О пределах добра и зла"), написанной Цицероном в 45 году н.э. Этот трактат по теории этики был очень популярен в эпоху Возрождения. Первая строка Lorem Ipsum, "Lorem ipsum dolor sit amet..", происходит от одной из строк в разделе 1.10.32
                   <br><br>Классический текст Lorem Ipsum, используемый с XVI века, приведён ниже. Также даны разделы 1.10.32 и 1.10.33 "de Finibus Bonorum et Malorum" Цицерона и их английский перевод, сделанный H. Rackham, 1914 год.'''
    }
]


def publish(request):
    if request.method == 'GET':
        return render(request, 'publish.html')
    else:
        secret = request.POST['secret']
        name = request.POST['name']
        text = request.POST['text']

        publications_data.append({
            'id': len(publications_data),
            'name': name,
            'date': datetime.now(),
            'text': text
        })

        return redirect('/publications')


def publications(request):
    return render(request, 'publications.html', {
        'publications': publications_data
    })


def publication(request, number):
    if number < len(publications_data):
        return render(request, 'publication.html', publications_data[number])
    else:
        return redirect('/')


def status(request):
    return HttpResponse('<h2>OK<h2>')

Environment:

Request Method: POST
Request URL: http://127.0.0.1:8000/publish

Django Version: 3.0.5
Python Version: 3.8.2
Installed Applications:
['django.contrib.admin',
 'django.contrib.auth',
 'django.contrib.contenttypes',
 'django.contrib.sessions',
 'django.contrib.messages',
 'django.contrib.staticfiles']
Installed Middleware:
['django.middleware.security.SecurityMiddleware',
 'django.contrib.sessions.middleware.SessionMiddleware',
 'django.middleware.common.CommonMiddleware',
 'django.middleware.csrf.CsrfViewMiddleware',
 'django.contrib.auth.middleware.AuthenticationMiddleware',
 'django.contrib.messages.middleware.MessageMiddleware',
 'django.middleware.clickjacking.XFrameOptionsMiddleware']



Traceback (most recent call last):
  File "C:\Users\Andrey\PycharmProjects\code\venv\lib\site-packages\django\utils\datastructures.py", line 76, in __getitem__
    list_ = super().__getitem__(key)

During handling of the above exception ('text'), another exception occurred:
  File "C:\Users\Andrey\PycharmProjects\code\venv\lib\site-packages\django\core\handlers\exception.py", line 34, in inner
    response = get_response(request)
  File "C:\Users\Andrey\PycharmProjects\code\venv\lib\site-packages\django\core\handlers\base.py", line 115, in _get_response
    response = self.process_exception_by_middleware(e, request)
  File "C:\Users\Andrey\PycharmProjects\code\venv\lib\site-packages\django\core\handlers\base.py", line 113, in _get_response
    response = wrapped_callback(request, *callback_args, **callback_kwargs)
  File "C:\Users\Andrey\PycharmProjects\code\web\views.py", line 45, in publish
    text = request.POST['text']
  File "C:\Users\Andrey\PycharmProjects\code\venv\lib\site-packages\django\utils\datastructures.py", line 78, in __getitem__
    raise MultiValueDictKeyError(key)

Exception Type: MultiValueDictKeyError at /publish
Exception Value: 'text'

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