2009-07-13 5 views
1

Je parcours un livre Django et je semble être bloqué. La base de code utilisée dans le livre est .96 et j'utilise 1.0 pour mon installation de Django. La partie sur laquelle je suis bloqué est liée aux commentaires de Django (django.contrib.comments). Lorsque je soumets mes commentaires, je reçois "Message de commentaire non autorisé (400) Pourquoi: Champ content_type ou object_pk manquant". J'ai trouvé que la documentation de Django manquait un peu dans ce domaine et j'espère avoir de l'aide.Obtenir "Message de commentaire non autorisé (400)" lors de l'utilisation de Django Commentaires

La boîte de commentaire s'affiche très bien, c'est quand je soumets le commentaire que j'obtiens l'erreur ci-dessus (ou l'avertissement de sécurité tel qu'il apparaît vraiment).

Mon appel à la forme de commentaires:

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

Mon code form.html:

{% 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 %} 

Toute aide serait grandement appréciée.

Mon point de vue comme demandé:

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

Il est probablement quelque part dans votre code de vue que les choses tournent mal, l'approvisionnement serait un bon début. – googletorp

+0

Merci, j'ai ajouté mon point de vue à la question. – kfordham281

Répondre

0

Ce n'est pas parfait, mais j'ai travaillé autour de ça. J'ai utilisé le formulaire.html inclus avec Django lui-même et cela m'a permis de passer le message "Message de commentaire non autorisé (400)" et posté mon commentaire avec succès. Il inclut quelques autres champs mais comme je n'ai pas défini mon propre formulaire dans forms.py, je suppose que c'est prévisible. En tout cas, je semble avoir travaillé autour de ça. Merci d'avoir regardé ma question.

0

Django a subi une énorme quantité de changement entre 0,96 et 1,0, il est donc pas surprenant que vous avez des problèmes. Pour votre numéro spécifique, voir here.

Cependant, je vous suggère de trouver un livre plus à jour. Ce ne sont pas seulement les commentaires, mais des zones entières de Django sont complètement différentes de 0.96 - en particulier l'admin. Si c'est le 'livre Django' officiel, vous pouvez trouver le brouillon de la version 2 (qui cible Django 1.0) here.

+0

J'ai été capable de travailler à travers diverses autres différences entre le code .96 et 1.0 dans le livre. Je viens de frapper une pierre d'achoppement avec cette section particulière. En fait, j'ai dû changer une partie du code en 1.0 pour que ça marche jusqu'à maintenant. J'ai le sentiment que mon problème est lié aux fonctionnalités anti-spam et aux champs cachés, je ne sais pas trop comment. – kfordham281

Questions connexes