Ошибка атрибута «WSGIRequest» объект не имеет атрибута «Post» при использовании нескольких кнопок отправки в моем представлении - PullRequest
4 голосов
/ 07 декабря 2011

Я создаю приложение для блога, и мне нужно предоставить пользователю несколько кнопок при отправке его блога.Я проверяю, какая кнопка установлена, и пытаюсь выполнить действие соответствующим образом, но она не работает должным образом.

Вот часть моих представлений, где я проверяю, какая кнопка установлена ​​в данных POST, но когда я нажимаю, опубликуйте ееработает нормально, но если я нажимаю сохранить или опубликовать, я получаю сообщение об ошибке Ошибка атрибута У объекта WSGIRequest нет атрибута 'Post'

@login_required
def blog_form(request,author_id=None,slug=None):

    context_instance=RequestContext(request)

    # This view will have a valid creator_id and slug field if the
    # blog is being edited and in this case the creator and user should be same
    if ( author_id and slug):
        author = User.objects.get(pk=author_id)
        blog = get_object_or_404(Entry, creator = author, slug = slug)
        if blog.creator != request.user:
            raise HttpResponseForbidden()

    # We set the user and created date and make a new object
    else:
        blog = Entry(creator=request.user,created_date=datetime.datetime.now() )

    if request.method == 'POST':

        #if the blog is not published
        if 'save' in request.POST:
            form = EntryForm(request.Post, instance = blog)
            if form.is_valid():
                form.save()

        elif 'publish' in request.POST:
            blog.pub_date = datetime.datetime.now()
            blog.status = 1
            form = EntryForm(request.POST, instance = blog)
            if form.is_valid():
                form.save()
                return render_to_response('blog/blog_view.html', {'blog': blog,},context_instance=RequestContext(request))

        elif 'preview' in request.POST: 
            form = EntryForm(request.Post, instance = blog)
            if form.is_valid():
                form.save()
                return render_to_response('blog/blog_view.html', {'blog': blog,},context_instance=RequestContext(request))

    else:
        form = EntryForm(instance = blog)

    return render_to_response('blog/blog.html', {'form':form}, context_instance)

1 Ответ

12 голосов
/ 07 декабря 2011

Исключение говорит вам все, что вам нужно знать - по запросу отсутствует атрибут «Сообщение».Тем не менее, есть запрос.POST

...