2009-07-13 4 views
1

Ich gehe durch ein Django Buch und ich scheinen zu stecken. Die im Buch verwendete Codebasis ist .96 und ich verwende 1.0 für meine Django-Installation. Der Teil, an dem ich festhalte, ist mit Django-Kommentaren (django.contrib.comments) verwandt. Wenn ich meine Kommentare einreiche bekomme ich "Kommentar Beitrag nicht erlaubt (400) Warum: Fehlendes content_type oder object_pk Feld". Ich habe festgestellt, dass die Django-Dokumentation in diesem Bereich etwas fehlt und ich hoffe auf Hilfe.Getting "Kommentar Beitrag nicht erlaubt (400)" bei der Verwendung von Django Kommentare

Das Kommentarfeld wird gut angezeigt, es ist, wenn ich den Kommentar einreiche, dass ich den obigen Fehler (oder Sicherheitswarnung, wie es wirklich erscheint) bekomme.

Mein Aufruf der Kommentar:

{% render_comment_form for bookmarks.sharedbookmark shared_bookmark.id %} 

Mein form.html Code:

{% if user.is_authenticated %} 
    <form action="/comments/post/" method="post"> 
     <p><label>Post a comment:</label><br /> 
     <textarea name="comment" rows="10" cols="60"></textarea></p> 
     <input type="hidden" name="options" value="{{ options }}" /> 
     <input type="hidden" name="target" value="{{ target }}" /> 
     <input type="hidden" name="gonzo" value="{{ hash }}" /> 
     <input type="submit" name="post" value="submit comment" /> 
    </form> 
{% else %} 
    <p>Please <a href="/login/">log in</a> to post comments.</p> 
{% endif %} 

Jede Hilfe sehr geschätzt werden würde.

Meine Ansicht wie gewünscht:

def bookmark_page(request, bookmark_id): 
    shared_bookmark = get_object_or_404(
     SharedBookmark, 
     id=bookmark_id 
    ) 
    variables = RequestContext(request, { 
     'shared_bookmark': shared_bookmark 
    }) 
    return render_to_response('bookmark_page.html', variables) 
+0

Es ist wahrscheinlich irgendwo in Ihrer Sicht Code, dass die Dinge schief gehen, die Lieferung wäre ein guter Anfang. – googletorp

+0

Danke, ich habe meine Meinung zu der Frage hinzugefügt. – kfordham281

Antwort

0

Es ist nicht perfekt, aber ich habe daran gearbeitet. Ich habe die form.html verwendet, die in Django selbst enthalten ist, und das hat mich über die Nachricht "Kommentar-Post nicht erlaubt (400)" gebracht und meinen Kommentar erfolgreich gepostet. Es enthält ein paar andere Felder, aber da ich mein eigenes Formular in forms.py nicht definiert habe, nehme ich an. Auf jeden Fall habe ich anscheinend daran gearbeitet. Danke, dass du meine Frage angeschaut hast.

0

Django unterzog sich einer großen Betrag der Änderung zwischen 0,96 und 1,0, so überraschend, dass es nicht bist du Probleme.

Für Ihr spezifisches Problem, siehe here.

Allerdings würde ich vorschlagen, Sie finden ein aktuelleres Buch. Es sind nicht nur die Kommentare, sondern ganze Bereiche von Django sind komplett anders als 0.96 - insbesondere der Admin. Wenn es das offizielle 'Django-Buch' ist, können Sie den Entwurf der Version 2 (die auf Django 1.0 abzielt) here finden.

+0

Ich konnte verschiedene andere Unterschiede zwischen dem .96 und 1.0 Code im Buch durcharbeiten. Ich habe gerade mit dieser einen Sektion einen Stolperstein getroffen. In der Tat musste ich einen Teil des Codes in 1.0 ändern, um es bis zu diesem Punkt funktionieren zu lassen. Ich habe das Gefühl, dass mein Problem mit den Anti-Spam-Funktionen und den versteckten Feldern zusammenhängt. Ich bin mir nicht sicher, wie. – kfordham281