以下のコードを作成して、ユーザーがDjangoでステータスを更新できるようにします。そしてそれらの更新は同じテンプレートに表示されるはずです。しかし、それは動作していません。たとえば、ステータステキストエリアに「ハッカーになることは日の仕事ではありません」と入力し、フォームの下にある更新ボタンをクリックします。友人が見るために同じテンプレートに更新が表示されます。ちょうど私たちがfbの状態更新を投稿する方法と同じです。更新作業をしようとしています
モデル
class mob (models.Model):
username=models.ForeignKey(User, unique=True)
state_province=models.CharField(max_length=50)
body=models.TextField(max_length=10000)
date=models.DateTimeField()
def __unicode__(self):
return u"%s - %s - %s - %s" % (self.username, self.state_province, self.body, self.date)
def get_absolute_url(self):
return "/post/%s/" % unicode(self.id)
def get_author_url(self):
return "/u/%s/p/0" % (self.username)
フォーム
class mobForm(ModelForm):
class Meta:
model=mob
fields=('body','username','state_province','date')
widgets={
'body':Textarea(attrs={"rows":2, "cols":40}),
'username': (HiddenInput),
'state_province': (HiddenInput),
'date':(HiddenInput),
}
ビュー
def homey(request):
#if there’s nothing in the field do nothing.
if request. method != "":
return HttpResponseRedirect('/homi/')
newmob=mob()
newmob.username=request.user
newmob.date=datetime.datetime.now()
newmob.body=request.POST['body']
if request.POST['body'] <> '':
newmob.body=body.objects.get(id=request.POST['body'])
newmob.save()
return HttpResponseRedirect('/homi/')
else:
return render_to_response('meek_home.html', {'mobForm': mobForm },context_instance=RequestContext(request))
テンプレート
{% extends "base_meek.html" %}
{% block body %}
<div class="form">
<form action="." method="post" enctype="multipart/form-data">
<table>
{{ mobForm }}
</table>
<input type="submit" value="Update" />
</form>
{% endblock %}
この例は完全ですか?どのテンプレートが結果の状態更新を表示しているはずですか? '/ homi /'と 'meek_home.html'とは何ですか?また、ステータスの更新を表示するものは何ですか? – jdi
/homi /はまだmeek_home.htmlと同じページです。 (r '^ homi/$'、homey)、HttpResponseRedirectionのためにちょうど使用/ homi /。私はあなたが私のポイントを得ることを望む。 – skizzy