In diesem Artikel wird hauptsächlich der Implementierungscode der Django-Ajax-Kommentarübermittlung und der automatischen Aktualisierungsfunktion vorgestellt. Freunde, die ihn benötigen, können darauf verweisen
Nachdem ich es viele Male versucht habe, habe ich es endlich verstanden. Laden wir den Code hoch. (Ich verwende Ajax von jQuery, nicht nativ)
js-Code:
<script> $(document).ready(function () { getcomment(); $('.comment-box button').click(function () { var comment_text = $('.comment-box textarea').val(); $.ajax({ type: 'POST', url: '/bbs/article/{{ article_list.id }}/comment/', data: {comment: comment_text}, success:function (callback) { var data = $.parseJSON(callback); $('.callback').html(data.result); if(data.result === 'successfully') { getcomment(); } } }) }); }); function getcomment() { $.ajax({ type: 'GET', url: '/bbs/article/{{ article_list.id }}/get_comment/', success:function (call) { var datas = $.parseJSON(call); $('.comment-list').html(datas.answer); } }) } </script>
Rufen Sie die Funktion getcomment() auf, nachdem der vollständige Text geladen wurde, rufen Sie die Kommentare aus der Datenbank ab und senden Sie die geschriebenen Kommentare Rufen Sie dann die Funktion getcomment() erneut auf, um die
HTML-Vorlage automatisch zu aktualisieren (die Bootstrap-Vorlage wird verwendet):
<p class="row"> <p class="comment-list" style="margin-left: 10px"> </p> </p> <p class="row"> <article class="col-xs-12"> <h4>请评论:</h4> <p class="comment-box"> <textarea class="form-control" rows="3"></textarea> <span class="callback"></span><button type="submit" class="btn btn-success pull-right" style="max-width: 5px;">评论</button> </p> </article> </p> <hr>
Funktion anzeigen:
@csrf_exempt def comment(request,article_id): if request.method == 'POST': comments = request.POST['comment'] if len(comments) < 5: result = u'评论数需大于5' return HttpResponse(json.dumps({'result': result})) else: result = 'successfully' Comment.objects.create(content= comments, article_id=article_id) return HttpResponse(json.dumps({'result': result}))
Das ist die Funktion zum Senden von Kommentaren. Vergessen Sie nicht, die Funktion csrf decorator
def get_comment(request, article_id): article_list = get_object_or_404(Article, id=article_id) comments = article_list.comment_set.all() html = '' for i in comments: ele = '<p class="row"><article class="col-xs-12"><p class="pull-right"><span class="label label-default">作者:' + 'i.user' + '</span></p><p>' + i.content + '<ul class="list-inline"><li><a href="#" rel="external nofollow" ></a></li></ul></article></p><hr>' html += ele return HttpResponse(json.dumps({'answer': html}))
hinzuzufügen, um Kommentare im Hintergrund zu erhalten.
Endlich den Wert von textarea klären:
function resettext() { $('.form-control').val(''); }
Das Obige habe ich für alle zusammengestellt. Ich hoffe, dass es in Zukunft für alle hilfreich sein wird.
Verwandte Artikel:
JS löscht den IE-Browser-Cache Methode
Das obige ist der detaillierte Inhalt vonImplementierungscode für Django Ajax zum Senden von Kommentaren und zur automatischen Aktualisierungsfunktion. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!