Django уценка функция show_preview выдает ошибку - PullRequest
1 голос
/ 11 октября 2019

Я новичок в использовании уценки. Я попытался использовать show_preview = False, чтобы реализовать предварительный просмотр, используя вместо этого jQuery.

class PostForm(forms.ModelForm):
    content = forms.CharField(widget=PagedownWidget(show_preview=False)) 
    publish = forms.DateField(widget = forms.SelectDateWidget)
    class Meta:
        model = Post
        fields = [
            "title",
            "content",
            "image",
            "draft",
            "publish",
        ]

к сожалению, выдает ошибку:

line 9, in PostForm
content = forms.CharField(widget=PagedownWidget(show_preview=False))
TypeError: __init__() got an unexpected keyword argument 'show_preview'

Я просмотрел файлы уценки и не смог найти show_preview, кроме как здесь:

4          <textarea {{ attrs|safe }}>{{ body }}</textarea>
5      </div>
6      {% if show_preview %}
7      <p class="wmd-preview-title">
8          <small>HTML Preview:</small>

Я бегу:

Django==2.2.6
django-markdown-deux==1.0.5
django-pagedown==2.0.3

1 Ответ

0 голосов
/ 21 октября 2019

Вы следуете руководству? Виджет Django-pagedown, используемый для получения ряда аргументов (включая show_preview). Используйте версию 1.0.6, если вы хотите это сделать. v1.0.6 по-прежнему совместим с django2.2.x.

Начиная с v2.0.0, лучше создать подкласс виджета и указать его на шаблон / css для определения окна предварительного просмотра, см. документацию по этому вопросу:

Github (см. Файл readme)

Пример приложения с формой

Вы можете остановить предварительный просмотр, переписав CSS,Например, добавьте следующее в ваш файл .css в статической папке (и убедитесь, что он импортируется в ваш шаблон). Или просто вставьте его в тег стиля вверху вашего шаблона.

.wmd-preview{
    display: none;
}
...