Django Tinymce不显示富文本格式

2024-06-01 00:45:39 发布

您现在位置:Python中文网/ 问答频道 /正文

我想在我的Django项目中使用TinyMCE,在完成了所有必要的设置之后,当我访问页面时,表单只呈现普通的Django表单,而不是TinyMCE富文本表单。下面是我的设置。在

我将tinymce文件夹复制到介质文件夹:

   C:/Python27/Scripts/nate/media/js/tiny_mce

在设置.py在

^{pr2}$

}

  TINYMCE_SPELLCHECKER = True
  TINYMCE_COMPRESSOR = True

在网址.py在

    (r'^tinymce/', include('tinymce.urls')),

模型

    class Finmall(models.Model):
       user=models.ForeignKey(User)
       name=models.CharField(max_length=250, unique=True)
       content1 = models.TextField()
       content2 = models.TextField()

       def __unicode__(self):
           return self.user

模板

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

   {% block content %}

    <div id="postcribbody" class="wrapper">     

     <p class="list">You can make it</p>
      <form enctype="multipart/form-data"  form action="." method="POST">
          {% csrf_token %}
             {{ FinmallForm.as_p }}
  <input type="submit"  class="cribput" value="Submit"/>
      </form>
      </div>
   {% endblock %}

如何使content1和content2显示TinyMCE富文本格式?在


Tags: djangopyform文件夹true表单modelsjs
2条回答

来自Documentation的示例:

from django import forms
from tinymce.widgets import TinyMCE

class FinmallForm(forms.ModelForm):
    ...
    content = forms.CharField(widget=TinyMCE(attrs={'cols': 80, 'rows': 30}))
    ...

    class Meta:
        model = Finmall

问题是您将表单显示为Django表单。在

富编辑文本字段将是Django不会创建的JS内容。这个django.form功能是创建一个HTML元素。在

我建议手动将富编辑放入模板中。只要给rich edit提供与Django表单元素相同的“名称”,就可以在返回的POST中使用它。在

编辑:您正在发布模型.TextField()呈现表单时。这将在表单中生成一个元素。此窗体将只有默认属性。在

我不能百分之百地确定TinyMCE是如何工作的,但是您需要通过一个“id”或“name”值将其绑定到该元素,或者只需将自己的表单代码放入模板中。在

我自己并不使用Django来呈现我自己在模板中创建的表单,并给它们提供Django将给它们的相同名称。在

查看呈现页面的源代码,并查看表单的外观。然后用TinyMCE设置一个测试页,让它正常工作并查看元素之间的差异。在

:)

相关问题 更多 >