我正在尝试使用 django-tinymce 在我的表单中设置一个字段的样式,但没有成功,因为它只是在表单中显示一个普通的 CharField。测试表单是使用 Django 清晰表单呈现的表单集的一部分。
模型.py
class test(models.Model)
test = models.CharField(max_length=100)
表格.py
from tinymce.widgets import TinyMCE
class TestForm(forms.ModelForm):
class Meta:
test = forms.CharField(widget=TinyMCE(attrs={'cols': 80, 'rows': 30}))
model = test
def __init__(self, *args, **kwargs):
super(TestForm, self).__init__(*args, **kwargs)
self.helper = FormHelper()
self.helper.form_tag = False
self.helper.layout = layout.Layout(
layout.Fieldset(
_("Test"),
layout.Field("test"),
),
)
网址.py
urlpatterns = patterns('',
# Examples:
# url(r'^$', 'tripller.views.home', name='home'),
# url(r'^blog/', include('blog.urls')),
url(r'^tinymce/', include('tinymce.urls')),
)
模板
{% load i18n crispy_forms_tags %}
<form method="post" action="." enctype="multipart/form-data">
{% csrf_token %}
{% crispy form %}
{{ formset.management_form }}
{{ formset.non_form_errors }}
{% for form in formset %}
{{ form.id }}
<div class="inline {{ formset.prefix }}">
{% crispy form %}
{{ form.description.errors }}
{{ form.description.label_tag }}
{{ form.description }}
</div>
{% endfor %}
</form>
设置.py
INSTALLED_APPS = (
'django.contrib.admin',
'django.contrib.auth',
'django.contrib.contenttypes',
'django.contrib.sessions',
'django.contrib.messages',
'django.contrib.staticfiles',
'ajaxuploader',
'crispy_forms',
'tinymce',
)
TINYMCE_JS_URL = os.path.join(STATIC_ROOT, "js/tiny_mce/tiny_mce.js")
TINYMCE_JS_ROOT = os.path.join(STATIC_ROOT, "js/tiny_mce")
TINYMCE_SPELLCHECKER = True
TINYMCE_COMPRESSOR = True
TINYMCE_DEFAULT_CONFIG = {
'theme': "advanced",
'plugins': "spellchecker",
'theme_advanced_buttons3_add': "|,spellchecker",
}
这是指定静态文件 url 的正确方法吗,我的所有 js 文件都存储在静态文件夹中,而不是文档中建议的媒体文件夹中?CharField 是否由于参数定义不正确而无法工作?
如何指定使用 TinyMCE 编辑器显示的文本字段?
假设用户通过 TinyMCE 完成了表单的编辑,如何将提交的数据显示为 html 表单?