0
私は比較的新しいですが、私は物事を通して働いています。私は物事の仕組みをしっかりと理解したい。djangoからajaxでコメントを投稿する場合は
私はDjangoにajaxフックでコメントを投稿しようとしています。
私はこれを達成するのに近いと思ったが、これまでのところはなかった。投稿されたコメントを保存してメインページにリダイレクトするビューを作成することができました。私はコメントがFacebookのスタイルで投稿するように、ajaxを使用できるようにしたい。
def add_comment(request, pk):
if request.method == 'POST' and request.is_ajax():
comment_form = CommentForm(request.POST)
if comment_form.is_valid():
comment = comment_form.save(commit=True)
comment.save()
json = simplejson.dumps(comment, ensure_ascii=False)
return HttpResponse(json, mimetype='application/json')
return render_to_response(simplejson.dumps('{{ post.id }}', {'comment': comment,}), context_instance=RequestContext(request), mimetype='application/json')
このビューは現在かなり粗いです。私はjsonへの呼び出しを持っていませんが、これは行く方法かもしれないことをお読みください。
<script type="text/javascript" src="http://ajax.googleapis.com/ajax/libs/jquery/1.5.1/jquery.min.js"></script></javascript>
<script type="text/javascript">
$(document).click(function()
{
$('#comment_form').submit(function()
{
var dataString = $('#comment_form').serialize();
$.ajax({
type: 'POST',
url: '{{ post.id }}',
data: dataString,
success: function(data){
$('{{ post.id }}').html(data);
},
});
return false;
});
});
</script>
<form action="" method="POST" id="comment_form">{% csrf_token %}
<div id="cform">
Name: {{ form.author }}
<p>{{ form.body|linebreaks }}</p>
</div>
<div id="submit"><input type="submit" value="Submit"></div>
</form>
コードを投稿すると、簡単にヘルプが表示されます。それがなければ、私ができることは、あなたのためにGoogleを叩くことです:http://brandonkonkle.com/blog/2009/feb/16/ajax-django-comments-jquery/ – RyanBrady
私はちょうど約数分のコードを追加しようとしていました前に、サービスプロバイダーは泥棒の下に降りた。 – tijko
途中でリンクをありがとう。私はこのページを読んだことがあります。他の人たちと一緒に、ajax djangoの検索語を思いついて(その順序で、または他の多くのもので)コメントを投稿します。主な問題はビューにあります。私はコメントを指示するためにposts.id/foreignkeyを使用しています。 – tijko