Представление не возвращает HttpResponse - PullRequest
0 голосов
/ 20 мая 2018

Представление iot.views.post_new не возвращало объект HttpResponse.Вместо этого он вернул None.Надеюсь, что все помогут, пожалуйста.

Это мой файл views.py:

def post_new(request):
    if request.method == "POST":
        form = PostForm(request.POST or None)
        if form.is_valid():
            ct = form.save(commit=False)
            ct.author = request.user
            ct.upload_time = request.upload_time
            ct.save()
            return redirect('iot:detail', pk=ct.pk)
    else:
        form = PostForm()
        return render(request, 'iot/post.html', {"form":form})

Ответы [ 2 ]

0 голосов
/ 20 мая 2018

Удалить else

def post_new(request):
    if request.method == "POST":
        form = PostForm(request.POST or None)
        if form.is_valid():
            ct = form.save(commit=False)
            ct.author = request.user
            ct.upload_time = request.upload_time
            ct.save()
            return redirect('iot:detail', pk=ct.pk)

    form = PostForm()
    return render(request, 'iot/post.html', {"form":form})
0 голосов
/ 20 мая 2018

Если форма недействительна в вашем предложении if и вы отправили ответ, она не вернет render.Вот на что жалуется сообщение об ошибке.

...