我已经开始学习Django了,我不知道如何处理HttpResponseRedirect()。你知道吗
以下是配置文件.html。你知道吗
<form method="post" action="post/">
{% csrf_token %}
<div class="col-md-8 col-md-offset-2 fieldWrapper">
{{ form.text.errors }}
{{ form.text }}
</div>
{{ form.country.as_hidden }}
<div>
<input type="submit" value="post">
</div>
</form>
正如您在代码片段上看到的,当我单击submit按钮时,它会转到http://localhost:8000/user/sapphire/post/我猜。你知道吗
以下是中的代码片段网址.py。你知道吗
from tweets.views import PostTweet
urlpatterns = [
url(r'^user/(\w+)/$', Profile.as_view()),
url(r'^user/(\w+)/post/$', PostTweet.as_view()),
]+ static(settings.STATIC_URL, document_root=settings.STATIC_ROOT)
如您所见,当我单击submit按钮时,我们导航到中的PostTweet类视图.py. 你知道吗
以下是中的代码片段视图.py。你知道吗
from django.shortcuts import render
from django.views.generic import View
from .models import Tweet
from user_profile.models import User
from .forms import TweetForm
class PostTweet(View):
def post(self, request, username):
form = TweetForm(self.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()
words = form.cleaned_data['text'].spilt(" ")
for word in words:
if word[0] == "#":
hashtag, created = HashTag.objects.get_or_create(name = word[1:])
hastag.tweet.add(tweet)
return HttpResponseRedirect('/user/' + username)
如您所见,当我单击submit按钮时,我猜它将转到http://localhost:8000/user/sapphire/,并呈现我添加的另一条tweet。但它不工作,出现异常。你知道吗
ValueError at /user/sapphire/post/, Exception Value: The view tweets.views.PostTweet didn't return an HttpResponse object. It returned None instead.
我该怎么办。老实说,我不知道标签是什么意思。在另一个教程中,为了在django中使用hashtag,我必须安装和设置hashtag模块,但是我没有安装。请告诉我如何处理这个错误并了解hashtag。你知道吗
谢谢您的时间。
看起来您的URL中没有使用命名组。你知道吗
如果将用户名添加到URL:
^user/(?P<username>[\w+])/$'
您应该能够在视图中使用该值。你知道吗相关问题 更多 >
编程相关推荐