表单继承

我们可以用表单继承的方法,减少代码冗余。

class TestForm(forms.Form):
    name = forms.CharField(max_length=6)
    age = forms.IntegerField()

# 继承了 TestForm
class TestForm2(TestForm):
    sex = forms.CharField(required=False)

现在 TestForm2 拥有继承的来的 name、age 字段,和自身的 sex 字段。我们在 shell 里看看:

f = TestForm2()
print(f.as_ul())
>>> <li><label for="id_name">Name:</label> <input id="id_name" maxlength="6" name="name" type="text" required /></li>
    <li><label for="id_age">Age:</label> <input id="id_age" name="age" type="number"required /></li>
    <li><label for="id_sex">Sex:</label> <input id="id_sex" name="sex" type="text" /></li>

在子类中,可以通过设置值为 None 来删除从父类中继承的字段。例如:

class TestForm(forms.Form):
    name = forms.CharField(max_length=6)
    age = forms.IntegerField()

# 继承了 TestForm
class TestForm2(TestForm):
    age = None
    sex = forms.CharField(required=False)

我们在 shell 里看看:

f = TestForm2()
print(f.as_ul())
>>> <li><label for="id_name">Name:</label> <input id="id_name" maxlength="6" name="name" type="text" required /></li>
    <li><label for="id_sex">Sex:</label> <input id="id_sex" name="sex" type="text" /></li>
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

  • HTML表单 在HTML中,表单是 ... 之间元素的集合,它们允许访问者输入文本、选择选项、操作对象等等,然后将...
    兰山小亭阅读 8,703评论 2 14
  • 1. Java基础部分 基础部分的顺序:基本语法,类相关的语法,内部类的语法,继承相关的语法,异常的语法,线程的语...
    子非鱼_t_阅读 33,194评论 18 399
  • Spring Cloud为开发人员提供了快速构建分布式系统中一些常见模式的工具(例如配置管理,服务发现,断路器,智...
    卡卡罗2017阅读 136,088评论 19 139
  • 工厂模式类似于现实生活中的工厂可以产生大量相似的商品,去做同样的事情,实现同样的效果;这时候需要使用工厂模式。简单...
    舟渔行舟阅读 12,401评论 2 17
  • 天干气燥,雾霾频发,人体最“娇嫩”的器官——肺,时时处于警戒状态,一不小心就受伤。这里有两个动作,对保护肺脏很有好...
    李秦的个人生活阅读 1,882评论 0 0

友情链接更多精彩内容