【发布时间】:2016-04-12 15:47:26
【问题描述】:
我正在使用 Cartridge/Mezzanine 建立一个网上商店。然而,默认情况下,结帐表单 (cartridge.shop.forms.OrderForm) 包含名字和姓氏的字段。我想要一个客户只需提供姓名的表格。此外,我不想使用国家和州/地区的字段。
到目前为止,我已经创建了一个子类 OrderForm 的 CustomOrderForm 并添加了一个“名称”字段。我还尝试使用以下方法覆盖 init 方法:
class CustomOrderForm(OrderForm):
name = forms.CharField(label=("Navn"))
def __init__(self, *args, **kwargs):
super(OrderForm, self).__init__(*args, **kwargs)
self.fields.pop('billing_detail_country')
除了“名称”字段显示在模板中之外,这对我没有任何好处。但我仍然需要从该字段中获取输入,将其拆分为名字和姓氏,并用它填充相关字段。
我该怎么做?
【问题讨论】:
-
如果您需要名字/姓氏,您可能需要创建这些单独的字段。如果您只是在一个空格字符上进行拆分,那么当提交的名称中有多个空格时会发生什么?
标签: django forms subclassing mezzanine cartridge