为什么表格无效?

2024-05-23 16:16:41 发布

您现在位置:Python中文网/ 问答频道 /正文

我最近在《学习Django Web开发》一书中学习了Django。我想要makepost tweet功能,但我总是得到以下错误

The view tweets.views.PostTweet didn't return an HttpResponse object. It returned None instead.

经过一系列的测试,我发现这个表格是无效的。在

这是视图.py在

class PostTweet(View):
    """
    Tweet post form availbale on page/user/<username> URL
    """
    form_class = TweetForm
    template_name = 'profile.html'

    def post(self, request, username):
        form = self.form_class(request.POST)
        if form.is_valid():
            user = User.objects.get(username=username)
            tweet = Tweet(text=form.cleaned_data['text'],
                          user=user,
                          country=form.cleaned_data['country'])
            tweet.save()
            form.save()
            return HttpResponseRedirect('/user/'+username)

在配置文件.html在

^{pr2}$

在表单.py在

from django import forms

class  TweetForm(forms.Form):
    text = forms.CharField(widget=forms.Textarea.is_required,max_length=160)
    country = forms.CharField(widget=forms.HiddenInput())

任何人只要给我一个暗示都会很感激的。:-)


Tags: djangotextpyformreturnusernameformspost
1条回答
网友
1楼 · 发布于 2024-05-23 16:16:41

当窗体有效时,视图执行操作,但当窗体无效时,执行重定向的块将不运行,方法退出而不执行任何操作,默认情况下不返回任何操作。在

form.is_valid()返回false时,您需要添加一些操作来处理这种情况,例如错误消息或错误页重定向。在

相关问题 更多 >