我的表单类
from django import forms
class Form(forms.Form):
your_name = forms.CharField(label='Your name ', max_length=100)
我的应用文件__init__.py
from django import forms
from my_app.forms import Form
from captcha.fields import ReCaptchaField
def register(form):
form.captcha=CaptchaField()
register(Form)
__init__.py
中的代码添加属性验证码,但它不在页面上。
我试过了
我的表单类
from django import forms
class Form(forms.Form):
your_name = forms.CharField(label='Your name ', max_length=100)
captcha=CaptchaField()
它有效,但我有所不同!我想添加一个сaptcha许多形式。 我想在不更改表单类的情况下添加验证码。我想在初始化期间更改表单类。 怎么做???
答案 0 :(得分:1)
您需要将字段分配到form.fields
,而不仅仅是form
。
然而,实际上并不是这样做的。相反,您应该使所有表单都从共享父类继承,该父类定义captcha
字段。
答案 1 :(得分:0)
继续发表评论,让基类继承自django.forms.Form
,并为您想要captcha
字段的所有表单创建子类;
from captcha.fields import ReCaptchaField
from django.forms import Form
class CaptchaMixin():
captcha = ReCaptchaField()
class ActualForm(CaptchaMixin, Form):
pass