- android - 多次调用 OnPrimaryClipChangedListener
- android - 无法更新 RecyclerView 中的 TextView 字段
- android.database.CursorIndexOutOfBoundsException : Index 0 requested, 光标大小为 0
- android - 使用 AppCompat 时,我们是否需要明确指定其 UI 组件(Spinner、EditText)颜色
我正在尝试使用 Django 表单允许 Django 用户输入他们最喜欢的三个兴趣。该错误发生在模板呈现期间,它显示为 {{form.as_ul}}
。
代码如下:
reg_interests.html
{% block content %}
<br><br>
<h1>Choose the 3 things that interest you most!</h1>
<form method="post" action="/reg_interests/">
{% csrf_token %}
{{form.as_ul}}
<br>
<p class="submit"><input class="btn btn-default" type="submit" name="commit" value="Continue"></p>
</form>
{% endblock %}
views.py
def reg_interests_view(request):
if request.POST:
form = InterestsForm(request.POST, request=request)
if form.is_valid():
form.save(request)
return redirect('/reg_video/')
args = {}
args['form'] = InterestsForm(request=request)
return render(request, 'login/reg_interests.html', args)
表单.py
class InterestsForm(RequestModelForm):
interest1 = forms.ChoiceField(choices=[(1, "Option 1"), (2, "Option 2")])
interest2 = forms.ChoiceField(choices=[(1, "Option 1"), (2, "Option 2")])
interest3 = forms.ChoiceField(choices=[(1, "Option 1"), (2, "Option 2")])
class Meta:
model = Interest
fields = ('interest1', 'interest2', 'interest3')
def __init__(self, request):
self.user = request.user
def save(self, commit=True):
interest = super(InterestsForm, self).save(commit=False)
interest.user = self.user
interest.interest1 = self.cleaned_data['interest1']
interest.interest2 = self.cleaned_data['interest2']
interest.interest3 = self.cleaned_data['interest3']
if commit:
interest.save()
return interest
我认为表单有问题,但我不知道如何或为什么需要定义_errors
。 Django 本身不应该处理这个问题吗?如果不是,我该如何定义 _errors
?
最佳答案
此代码根本无法工作,因为您覆盖了表单的 __init__
方法,因此 a) 您只接受一个 request
参数 - 而不是任何表单期望的其他内容,例如 data
或 initial
- 并且 b) 您永远不会调用父类(super class) init 方法来初始化表单代码的其余部分所期望的内容。您需要保留签名并调用 super。
def __init__(self, *args, **kwargs):
request = kwargs.pop('request')
self.user = request.user
super(InterestsForm, self).__init__(*args, **kwargs)
关于python - Django 属性错误 : 'InterestsForm' object has no attribute '_errors' ,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38922969/
我正在尝试创建一个表单,该表单将显示基于模型项目的复选框列表。如果需要,还可以过滤此列表。 但是我收到以下错误并且不确定原因是什么? 错误: File "/usr/local/lib/python3.
所以我在我的 nextjs 应用程序上创建了一个自定义错误页面。 按照文档,我创建了一个 _error.js包含我的 View 的文件(在 React 中) 我的问题是当我处于开发模式时,我的 _er
我正在覆盖我的表单中的 init 方法,现在返回错误“TransactionForm”对象没有属性“_errors”。 我希望它能工作,因为我在我的 init 中包含了 super,但也许我不明白如何
我正在尝试使用 Django 表单允许 Django 用户输入他们最喜欢的三个兴趣。该错误发生在模板呈现期间,它显示为 {{form.as_ul}}。 代码如下: reg_interests.html
我正在尝试导入某个使用 h5py 的 python 文件。尝试运行它时,出现此错误。 ImportError Traceback (most
我将此行添加到我的代码中,但出现以下错误: Error 18 error LNK2019: unresolved external symbol _error referenced in fun
我是一名优秀的程序员,十分优秀!