ValueError -Вид dashboard.views.saveBlogTopic не вернул объект HttpResponse. Вместо этого оно вернуло None
Я получил эту ошибку, когда попытался проверить свою функцию внутри views.py:
Traceback (последний последний вызов): Файл "/home//lib/python3.8/site-packages/django/core/handlers/exception.py", строка 55, in inner response = get_response(request) Файл "/home//lib/python3.8/site-packages/django/core/handlers/base.py", строка 204, in _get_response self.check_response(response, callback) Файл "/home/**/lib/python3.8/site-packages/django/core/handlers/base.py", строка 332, in check_response raise ValueError( ValueError: Представление dashboard.views.saveBlogTopic не вернуло объект HttpResponse. Вместо него возвращается None.
Я пробовал несколько способов решить проблему, но не смог. Можете ли вы мне помочь? вот мои файлы:
views.py :
@login_required
def blogTopic(request):
context = {}
if request.method == 'POST':
blogIdea = request.POST['blogIdea']
request.session['blogIdea'] = blogIdea
keywords = request.POST['keywrods']
request.session['keywrods'] = keywords
audience = request.POST['audience']
request.session['audience'] = audience
blogTopics = generateBlogTopicIdeas(blogIdea, audience, keywords)
if len(blogTopics) > 0:
request.session['blogTopics'] = blogTopics
return redirect('blog-sections')
else:
messages.error(request,"Oops we could not generate any blog ideas for you, please try again.")
return redirect('blog-topic')
return render(request, 'dashboard/blog-topic.html', context)
@login_required
def blogSections(request):
if 'blogTopics' in request.session:
pass
else :
messages.error(request,"Start by creating blog topic ideas")
return redirect('blog-topic')
context = {}
context['blogTopics'] = request.session['blogTopics']
return render(request, 'dashboard/blog-sections.html', context)
@login_required
def saveBlogTopic(request, blogTopic):
if 'blogIdea' in request.session and 'keywords' in request.session and 'audience' in request.session and 'blogTopics' in request.session:
blog = Blog.objects.create(
title = blogTopic,
blogIdea = request.session['blogIdea'],
keywrods = request.session['keywrods'],
audience = request.session['audience'],
profile = request.user.profile)
blog.save()
blogTopics = request.session['blogTopics']
blogTopics.remove(blogTopic)
request.session['blogTopics'] = blogTopics
return redirect ('blog-sections')
#else:
#return redirect('blog-topic')
models.py :
# Create your models here.
class Blog(models.Model):
title = models.CharField(max_length=200)
blogIdea = models.CharField(null=True, blank=True, max_length=200)
keywrods = models.CharField(null=True, blank=True, max_length=300)
audience = models.CharField(null=True, blank=True, max_length=100)
wordCount = models.CharField(null=True, blank=True, max_length=100)
#related field
profile = models.ForeignKey(Profile, on_delete=models.CASCADE)
Ошибка возникает saveBlogTopic
при невыполнении условий.
Вы закомментировали:
#else:
#return redirect('blog-topic')
Что могло бы исправить эту конкретную ошибку. Каждое представление должно возвращать объект Response
(может быть редирект).