ジャンゴでUpdateViewにウィジェットを追加する方法

そしてスプラッシュ:

私は、DjangoのUpdateViewにこのウィジェットを追加する必要があります

class tlistUpdate(LoginRequiredMixin,UpdateView):
    fields = ('title', 'thumbnail', 'content', 'tags')
    model = htmlpage
    template_name = 'blog/create_form.html'

追加しようとしました

widgets = {
    'content': SummernoteWidget(),
}

そして

content = forms.CharField(widget=SummernoteWidget())

しかし、それは仕事をdid't。

ウィレム・ヴァン・当社:

UpdateView高度なフォームの構築を処理するように構成されていません。アイデアは、あなたが使用することでfields、あなたが構築することを目指した場合、単純な(標準)Form

あなたが簡単に構築することができますModelFormし、あなたにそのフォームを使用してCreateView/ UpdateView

# app/forms.py

from django import forms

class HtmlPageForm(forms.ModelForm):
    class Meta:
        model = HtmlPage
        fields = ('title', 'thumbnail', 'content', 'tags')
        widgets = {
            'content': SummernoteWidget
        }

あなたにはviews.pyあなたがして設定することで、フォームを使用することができますform_class属性[ジャンゴ-docの]

# app/views.py

from app.forms import HtmlPageForm

class TlistUpdate(LoginRequiredMixin,UpdateView):
    model = htmlpage
    form_class = HtmlPageForm
    template_name = 'blog/create_form.html'

:通常、Djangoのモデル、Pythonではすべてのクラスがで名前を与えられているだけのようPerlCase、ないsnake_case:それはする必要がありますので、HtmlPage代わりにhtmlpage

おすすめ

転載: http://43.154.161.224:23101/article/api/json?id=33883&siteId=1