我最近在《学习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())
任何人只要给我一个暗示都会很感激的。:-)
当窗体有效时,视图执行操作,但当窗体无效时,执行重定向的块将不运行,方法退出而不执行任何操作,默认情况下不返回任何操作。在
当
form.is_valid()
返回false时,您需要添加一些操作来处理这种情况,例如错误消息或错误页重定向。在相关问题 更多 >
编程相关推荐