【问题标题】:exclude content field from crispy forms从酥脆的表单中排除内容字段
【发布时间】:2021-06-16 17:42:19
【问题描述】:

forms.py

from django import forms
from tinymce import TinyMCE
from .models import Article


class TinyMCEWidget(TinyMCE):
    def use_required_attribute(self, *args):
        return False


class PostForm(forms.ModelForm):
    content = forms.CharField(
        widget=TinyMCEWidget(
            attrs={'required': False, 'cols': 30, 'rows': 10}
        )
    )

    class Meta:
        model = Article
        fields = ('title', 'major', 'semester', 'book', 'unit', 'content')

article_form.html

{% extends "base.html" %}
{% load static %}
{% load tailwind_filters %}
{% block title %}Create{% endblock title %}

{% block content %}

    {{ form.media }}
    <div class="row form-error">
        <div class="column" id="content">
            <form  method="post" action='' enctype="multipart/form-data">
                {% csrf_token %}
                {{ form|crispy }}
                <input class="button" type="submit" value="Save">
            </form>
        </div>
    </div>

{% endblock %}

我使用 TinyMCE 来实现富文本编辑器。 当我重新加载页面时,它给了我这个:

AttributeError at /article/new/
'CSSContainer' object has no attribute 'tinymce'

我只想在所有字段上使用清晰表单,并从清晰表单中排除内容字段。

【问题讨论】:

  • 你有没有为tinymce添加STATIC_ROOT
  • 不!我知道应该添加,但我还没有(还)。
  • tinymce 需要 STATIC_ROOT 所以添加后再试试
  • 试过了,还是一样的错误。
  • 我找到了一个解决方案检查答案,谢谢。

标签: python django django-forms django-templates django-crispy-forms


【解决方案1】:

我做了一些谷歌,我发现了这个

[simpleisbetterthancomplex.com]

然后我将代码修改为:

{% extends "base.html" %}
{% load static %}
{% load tailwind_filters %}
{% block title %}Create{% endblock title %}

{% block content %}

    {{ form.media }}
    <div class="row form-error">
        <div class="column" id="content">
            <form  method="post" action='' enctype="multipart/form-data">
                {% csrf_token %}
                {{ form.title|as_crispy_field  }}
                {{ form.major|as_crispy_field  }}
                {{ form.semester|as_crispy_field  }}
                {{ form.book|as_crispy_field  }}
                {{ form.unit|as_crispy_field  }}
                {{ form.content }}
                <input class="button" type="submit" value="Save">
            </form>
        </div>
    </div>

{% endblock %}

【讨论】:

    猜你喜欢
    • 2020-06-13
    • 2013-04-23
    • 2019-12-21
    • 1970-01-01
    • 2018-11-22
    • 2016-01-26
    • 1970-01-01
    • 2014-06-11
    • 2016-09-27
    相关资源
    最近更新 更多