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 &raquo;</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.

Вернуться на верх