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
评论列表
文章目录