【问题标题】:Django bootstrap4 - Parameter "form" should contain a valid Django FormDjango bootstrap4 - 参数“form”应包含有效的 Django 表单
【发布时间】:2019-11-18 11:34:04
【问题描述】:

我收到以下引导异常

'Parameter "form" should contain a valid Django Form.' 

this 教程运行以下代码时:

{% load bootstrap4 %}

<form action="/url/to/submit/" method="post" class="form">
    {% csrf_token %}
    {% bootstrap_form form %}
    {% buttons %}
        <button type="submit" class="btn btn-primary">Submit</button>
    {% endbuttons %}
</form>

'bootstrap_form form' 中的第二个'form' 是否应该引用/指向某些东西?它是一个变量吗?什么是有效的 django 表单?我检查了有关此问题的几个帖子和答案,但无法理解此错误。

编辑查看代码:

from django.shortcuts import render

def hello_world(request):
    return render(request, 'hello_world.html', {})

【问题讨论】:

  • 您能否分享您呈现此模板的视图?
  • @IainShelvington 用视图代码更新了 OP。

标签: django forms bootstrap-4


【解决方案1】:

我遇到了同样的问题,我几乎花了一整天的时间才弄清楚。

django-bootstrap4 的 Quickstart 部分对初学者不太友好。

{% bootstrap_form form %}

form是一个参数,应该从views.py中传过来。在您的情况下,应将form 添加到return render(request, 'hello_world.html', {})

  1. 创建一个名为forms.py 的文件并将以下代码放入其中。

(forms.py应该放在views.py的同一个文件夹中)

from django import forms

class NameForm(forms.Form):
    your_name = forms.CharField(max_length=100)
  1. 修改views.py,添加如下代码:
# ...
from .forms import NameForm

# ...
def hello_world(request):
    form = NameForm()
    return render(request, 'hello_world.html', {'form': form})
# ...

【讨论】:

    猜你喜欢
    • 2020-02-09
    • 2016-04-23
    • 2019-02-09
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2020-06-29
    • 2017-03-18
    • 1970-01-01
    相关资源
    最近更新 更多