这是一个棘手的标题问题,所以请在假设它是重复的之前先阅读:)。
我在用着布伦特里支付 https://www.braintreepayments.com/在 Django 网站上,以及付款方式 https://www.braintreepayments.com/docs/python/guide/getting_paid#payment_form信用卡号的 html 需要如下所示:
<input type="text" size="20" autocomplete="off" data-encrypted-name="number" />
我的目前看起来像这样:
<input type="text" size="20" autocomplete="off" name="number">
我可以以某种方式重命名吗name
to data-encrypted-name
?或者,我可以隐藏/删除name
属性全?如果是这样,我可以轻松地为 Braintree 友好属性添加自定义属性:
class SignupForm(forms.Form):
...snip...
def __init__(self, *args, **kwargs):
super(SignupForm, self).__init__(*args, **kwargs)
self.fields['number'].widget.attrs['data-encrypted-name'] = "number"
仅供参考我在__init__
但没有运气:
self.fields['number'].widget.attrs['name'] = None
Per 布伦特里 https://www.braintreepayments.com/docs/python/guide/getting_paid#payment_form:
重要提示:请勿将 name 属性用于任何捕获
敏感的付款信息,例如信用卡号或 CVV。
删除此属性可以防止他们访问您的服务器
纯文本,因此会缩小您的 PCI 合规范围。
另外,我正在使用 django酥脆的形式 https://github.com/maraujop/django-crispy-forms,所以我更愿意在我的forms.py
并且不在模板中进行 html 调整以保持干燥。