【发布时间】:2016-11-07 09:58:18
【问题描述】:
我在我的设置中为使用 ckeditor 的用户定义了一些自定义小部件。在一个页面中,我尝试使用此自定义模板,但它没有显示自定义小部件,而是显示完整的小部件。
在这种情况下,我使用一种来自 ajax 请求的表单。
我的模特:
class Comment(models.Model):
content = models.CharField(max_length=settings.COMMENT_TEXT_LIMIT if hasattr(settings, "COMMENT_TEXT_LIMIT") else 10000)
我的表格:
class CreateCommentForm(IdeiaForm):
content = forms.CharField(
max_length=settings.COMMENT_TEXT_LIMIT if hasattr(settings, "COMMENT_TEXT_LIMIT") else 10000,
required=True,
widget=forms.Textarea(attrs={'data-config': json_encode(getattr(settings, 'CKEDITOR_CONFIGS', None)['comment'])}))
还有我的 HTML 文件:
<textarea id="text_area_content" name="content" class="form-control" placeholder="Deixe seu comentário" data-url-login="{% url 'account:is_logged' %}" data-trigger="login" data-token="{{ csrf_token }}"></textarea>
我的设置.py:
CKEDITOR_CONFIGS = {
'default': {
'toolbar': 'Basic',
},
'comment': {
'toolbar': 'Custom',
'toolbar_Custom': [
['Bold', 'Italic'],
['CodeSnippet'],
],
'entities': False,
'extraPlugins': ','.join([
'autolink', 'dialog',
'codesnippet','autogrow','placeholder',
]),
},
}
【问题讨论】:
-
另一个不相关的注释以同样的方式:这一行:
json_encode(getattr(settings, 'CKEDITOR_CONFIGS', None)['comment']将引发KeyError如果'CKEDITOR_CONFIGS'未定义它可能应该是json_encode(getattr(settings, 'CKEDITOR_CONFIGS', {}).get('comment')而不是 -
你是什么意思“来自 AJAX 请求的表单”可能附上你的视图?
标签: javascript django django-ckeditor