【问题标题】:Django Crispy Forms; Does not load buttonDjango Crispy Forms;不加载按钮
【发布时间】:2021-09-22 23:38:12
【问题描述】:

我只是对 Crispy Forms 有疑问;我无法加载按钮。我检查了大量其他 StackOverflow 表单,但我遵循的所有示例似乎都没有任何效果。

示例forms.py

from crispy_forms.helper import FormHelper
from crispy_forms.layout import Submit

from django import forms

from .models import ExampleModel

class ExampleModelForm(forms.ModelForm):
    def __int__(self, *args, **kwargs):
        super().__init__(*args, **kwargs)
        self.helper = FormHelper()
        self.helper.add_input(Submit('submit', 'Submit'))

    class Meta:
        model = ExampleModel
        fields = ['content', 'title']

示例views.py

from django.shortcuts import render
from django.http import HttpResponseRedirect

from .forms import ExampleModelForm

def get_form(request):
    if request.method == 'POST':
        form = ExampleModelForm(request.POST)
        if form.is_valid():
            return HttpResponseRedirect('/success/')

    else:
        form = ExampleModelForm()

    return render(request, 'example_form.html', {'form': form})

示例example_form.html

{% extends 'base.html' %}

{% load crispy_forms_tags %}

{% block content %}
    {% crispy form %}
{% endblock %}

我的表单加载得很漂亮,但我就是无法显示按钮。我看过docs,但我看不出我在做什么不同。也许它不能很好地与 ModelForms 配合使用?我不知道。

我尝试将def__init__... 的位置更改为低于Meta 类。我将super() 定义为super(ExampleModelForm, self)self.helper = FormHelper(self)

我什至尝试将 html 文件中的 {% crispy form %} 更改为 {% crispy form form.helper %}。它只是打破了。

我也试过关注这个example。只是没有什么对我有用。

设置:
姜戈:3.2.5
Crispy-Forms:1.12.0

【问题讨论】:

    标签: python django django-crispy-forms


    【解决方案1】:

    好的,我想通了,但我不知道为什么会这样。

    class ExampleModelForm(forms.ModelForm):
        helper = FormHelper()
        helper.add_input(Submit('submit', 'Submit'))
    
        class Meta:
            model = ExampleModel
            fields = ['content', 'title']
    

    基本上你不需要def__init__(... 有人可以向我解释一下吗?

    【讨论】:

      猜你喜欢
      • 2012-04-25
      • 2014-02-10
      • 2023-03-24
      • 1970-01-01
      • 2018-02-16
      • 1970-01-01
      • 2013-02-07
      • 2019-07-31
      • 1970-01-01
      相关资源
      最近更新 更多