2011-05-07 14 views
0

小さなコメントアプリを書いた。 forms.pyの
パート:models.pyのTiny_mce + Djangoのコメント=問題

class TinyCommentForm(CommentSecurityForm): 
    comment = forms.CharField(widget=TinyMCE(attrs={'cols': 80, 'rows': 30})) 

パート:

class TinyComment(BaseCommentAbstractModel): 
    comment = tinymce_models.HTMLField() 

TinyCommentFormを使用してテンプレートの一部:ここ

{% if user.is_authenticated %} 
{% get_comment_form for object as form %}   
    <form action="{% comment_form_target %}" method="POST"> 
     {{ form.comment }} 
     {{ form.content_type }} 
     {{ form.object_pk }} 
     {{ form.timestamp }} 
     {{ form.security_hash }}    
     <input type="submit" name="post" class="submit-post" value="Add" /> 
    </form> 
{%endif%} 

私は、コメントを追加して保存することができ、唯一のtinymceエディタなしで、それは正常に動作しています。

テンプレートフィールドに私のコメントフォームに追加した場合:{{form.media}} tinymceエディタが表示されますが、私がそこに何かを書くと、私のPOSTフォームはコンテンツなしで、何かを書く必要があると言われます。

TinyCommentFormをこのテンプレートに「フォーム」として表示しても、{{form.media}}<HEAD>セクタは機能しません。

だから私はより多くの手動でJSをインポートしようとした私は(Djangoの1.3を使用して)<HEAD>セクションに追加:

<script type="text/javascript" src="{{STATIC_URL}}js/tiny_mce/tiny_mce.js"></script> 

それから私はそのSRCのリンクをチェックし、それが正しいです。

私はそこに二行を追加しますので、次の:

<script type="text/javascript" src="{% url tinymce-js "NAME" %}"></script> 

それから私は、JSコードでNAME/tinymce_textareas.jsを作成し、TEMPLATE_DIRSにこのフォルダを含む追加。 tiny_mceのURLを含むMYのURL。しかし、まだ結果なし。

誰かが少し私を照らすことができますか?

答えて

1

正常に動作しました。回答:

{% if user.is_authenticated %} 
{% get_comment_form for object as form %}   
    <form action="{% comment_form_target %}" method="POST"> 
     {{ form.media }} <!-- This is needed --> 
     {{ form.comment }} 
     {{ form.content_type }} 
     {{ form.object_pk }} 
     {{ form.timestamp }} 
     {{ form.security_hash }}    
     <input type="submit" name="post" class="submit-post" value="Add" /> 
    </form> 
{%endif%} 

そして、セクションの任意のJSは無用でした。 はずですが、このようになります。私のforms.pyで悪魔の生活:

class TinyCommentForm(CommentSecurityForm): 
    comment = forms.CharField(widget=forms.Texarea) 

そして今、正常に作品をeverythigng。

編集:私のコメントフォームはwidget=forms.Texareaを使用する必要がある理由の理由は、私のtexareas.jsがmode : "textareas"を持っていることを、私が思う、です。私が間違っているなら、私を修正してください。