def get_form(self, req: HttpRequest, obj: Domain=None, **kwargs: Any) -> type:
if req.GET.get("_prefill_key", "0") == "1":
def formfield_callback(field: _ModelField, request: HttpRequest=None, **kwargs: Any) -> Type[_FormField]:
f = self.formfield_for_dbfield(field, request=request, **kwargs) # type: _FormField
# f can be None if the dbfield does not get a FormField (like hidden fields
# or auto increment IDs). Only the dbfield has a .name attribute.
if f and field.name == "dkimkey":
if obj:
obj.dkimkey = RSA.generate(2048).exportKey("PEM").decode("utf-8")
else:
f.initial = RSA.generate(2048).exportKey("PEM").decode("utf-8")
return f
kwargs["formfield_callback"] = functools.partial(formfield_callback, request=req)
form_t = super().get_form(req, obj, **kwargs)
return form_t
python类Field()的实例源码
def textinfo(cls, choice):
attrs = {
'placeholder': choice.get('extra_info_text'),
'class': "extra-widget extra-widget-text",
'style': "display: none;",
}
return Field(
required=False,
widget=TextInput(attrs=attrs),
)
def textinfo(cls, choice):
attrs = {
'placeholder': choice.get('extra_info_text'),
'class': "extra-widget extra-widget-text",
'style': "display: none;",
}
return Field(
required=False,
widget=TextInput(attrs=attrs),
)