CKEditor ломается, когда debug = False
Я приближаюсь к завершению своего проекта, блога. Я установил DEBUG = False
для безопасности.
Это ломает мой CKEDITOR, заставляя его просто не появляться вообще при загрузке страницы.
Когда DEBUG = True
работает нормально.
Шаблон:
<form class="text-center m-3" action="." method="POST" enctype="multipart/form-data">
{% csrf_token %}
{{ form.media }}
{{ form.as_p }}
<button class="btn btn-signup right" id="button">Post »</button>
forms.py:
class PostForm (forms.ModelForm):
class Meta:
model = Post
fields = ('title', 'excerpt', 'featured_image',
'content', 'author')
widgets = {
'title': forms.TextInput(attrs={'placeholder':
'Give it a catchy title'}),
'excerpt': forms.TextInput(attrs={'placeholder':
'E.g. My first ever post'}),
'content': forms.Textarea(
attrs={'placeholder':
'<p>Wrap your content in these P tags to create a paragraph</p> \
\n\n<b>Wrap your words in these B tags \
to make them bold</b>'}),
'author': forms.TextInput(
attrs={'class': 'form-control', 'value': '',
'id': 'user', 'type': 'hidden'}),
}
Это следствие того, что Django не обслуживает статические файлы или медиа файлы в production. Действительно, как указано в разделе документации :
Это представление будет работать, только если
DEBUG
будетTrue
.Потому что этот вид крайне неэффективен и, вероятно. небезопасным. Это предназначено только для локальной разработки, и не следует никогда не использоваться в производстве.
Обычно вы должны настроить nginx
, apache
или другой веб-сервер для обслуживания статических и мультимедийных файлов. Эти веб-серверы, скорее всего, более эффективны и имеют больше специальных инструментов для обеспечения безопасности. Это основная причина, по которой Django не должен обслуживать статические и медиа файлы в production.