Python Can';t在settings.py中配置django TinyMCE,而它';这在html脚本中是可能的
我在之前的一个项目中使用了TinyMCE for django,据我记忆所及,可以在django settings.py文件中进行配置。现在,我正在处理另一个项目,但除了将TinyMCE配置js脚本添加到我想要使用它的模板之外,找不到任何解决方案来完成它 从HTML进行配置并不是什么大问题,但在获取静态请求时似乎存在一些性能问题。而且,在settings.py中配置时,我没有遇到任何加载问题 你可以在这里查看我的项目文件。希望找到解决办法 models.pyPython Can';t在settings.py中配置django TinyMCE,而它';这在html脚本中是可能的,python,django,tinymce,wysiwyg,text-editor,Python,Django,Tinymce,Wysiwyg,Text Editor,我在之前的一个项目中使用了TinyMCE for django,据我记忆所及,可以在django settings.py文件中进行配置。现在,我正在处理另一个项目,但除了将TinyMCE配置js脚本添加到我想要使用它的模板之外,找不到任何解决方案来完成它 从HTML进行配置并不是什么大问题,但在获取静态请求时似乎存在一些性能问题。而且,在settings.py中配置时,我没有遇到任何加载问题 你可以在这里查看我的项目文件。希望找到解决办法 models.py from tinymce.model
from tinymce.models import HTMLField
class Article(models.Model):
...
message = HTMLField()
...
forms.py
from django import forms
from tinymce.widgets import TinyMCE
from . import models
class ArticleForm(forms.ModelForm):
class Meta():
abstract = True
model = models.Article
fields = ('title', 'message', 'tags')
widgets = {
'title': forms.Textarea(attrs={'placeholder': 'Başlık'}),
'message': TinyMCE(attrs={'class': 'tinymce', 'id': 'myeditablediv', 'contenteditable': 'true', 'style': 'position: relative;'}),
}
def __init__(self, *args, **kwargs):
user = kwargs.pop('user', None)
super().__init__(*args, **kwargs)
form.html
{% extends "articles/article_base.html" %}
{% load bootstrap4 %}
{% load static %}
{% load widget_tweaks %}
{% block article_content %}
<div class="container">
<div class="articleForm">
<form method="POST" action="{% url 'articles:create' %}" id="ArticleForm" enctype="multipart/form-data">
<div class="header">
<h1>Icerik Olustur</h1>
</div>
{% csrf_token %}
{% for hidden in form.hidden_fields %}
{{ hidden }}
{% endfor %}
<div class="form-group">
<label for="{{ form.title.id_for_label }}">{{ form.title.label }}</label>
{% render_field form.title class="form-control title" placeholder="Baslik boyle olur..." autocomplete="off" maxlength="140" %}
{% for error in field.errors %}
<span class="help-block">{{ error }}</span>
{% endfor %}
</div>
<div class="form-group">
<label for="{{ form.message.id_for_label }}">{{ form.message.label }}</label>
{% render_field form.message class="tinymce" id="myeditablediv" %}
{% for error in field.errors %}
<span class="help-block">{{ error }}</span>
{% endfor %}
</div>
<div class="form-group">
<label for="{{ form.tags.id_for_label }}">{{ form.tags.label }}</label>
{% render_field form.tags type="text" data-role="tagsinput" class="form-control tags" name="tags" placeholder="Max 7 tags" %}
{% for error in field.errors %}
<span class="help-block">{{ error }}</span>
{% endfor %}
</div>
<input type="submit" value="Post" class="btn btn-primary btn-lg"></input>
</form>
</div>
</div>
</div>
<script src="{% static 'tinymce/tinymce.min.js' %}"></script>
<script>
tinyMCE.init({
mode : "textareas",
plugins: 'quickbars wordcount preview codesample imagetools hr link spellchecker lists media fullscreen autoresize',
toolbar: 'fullscreen undo redo ',
menubar: 'false',
quickbars_insert_toolbar: ' media quickimage pageembed | bullist numlist | hr',
quickbars_selection_toolbar: 'bold italic underline blockquote | h1 h2 codesample | link | alignleft aligncenter alignright alignjustify | preview',
quickbars_image_toolbar: 'alignleft aligncenter alignright | blockquote',
});</script>
{% endblock article_content %}
我刚刚意识到这根本不起作用。当我尝试编辑文本区域时,一切都很好,但当我向db提交内容时,似乎什么都没有。希望有人知道这件事。
TINYMCE_JS_URL = STATIC_URL + '/tinymce/tinymce.min.js'
TINYMCE_JS_ROOT = MEDIA_URL + "tinymce"
TINYMCE_DEFAULT_CONFIG = {
# 'plugins': "image, imagetools,table,spellchecker,wordcount",
# 'theme': "silver",
'mode': 'textareas',
'cleanup_on_startup': True,
'custom_undo_redo_levels': 10,
'min_height': 500,
# 'toolbar': [
# 'undo redo | bold italic underline | fontselect fontsizeselect',
# 'forecolor backcolor | alignleft aligncenter alignright alignfull | numlist bullist outdent indent'
# ],
# 'skin': {'content': 'dark', 'ui': 'oxide-dark'}
# 'inline': True,
# 'selector': 'div.tinymce',
'plugins': ['quickbars', 'wordcount', 'preview', 'codesample', 'imagetools', 'hr', 'link', 'spellchecker', 'lists', 'media', 'fullscreen', 'autoresize'],
'toolbar': ['fullscreen undo redo '],
# 'menubar': False,
# 'statusbar': False,
'quickbars_insert_toolbar': ' media quickimage pageembed | bullist numlist | hr',
'quickbars_selection_toolbar': 'bold italic underline blockquote | h1 h2 codesample | link | alignleft aligncenter alignright alignjustify | preview',
'quickbars_image_toolbar': 'alignleft aligncenter alignright | blockquote | '
}
# TINYMCE_SPELLCHECKER = True
# TINYMCE_COMPRESSOR = True
# TINYMCE_EXTRA_MEDIA = {
# 'css': {
# 'all': [
# ...
# ],
# },
# 'js': [
# ...
# ],
# }