You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
This will make any Django ModelForm render a
YourFormField(custom_form_field_kwarg='something') by default, plus
whatever other kwargs it wants to add, you won't have to use any specific model
form, this will work natively in the admin for instance.
Note
form_class is optionnal, you may as well just pass kwargs and not
change the default form class for a form field.
Custom formfield callback
You can register custom form field for model field types:
@djhacker.register(models.ForeignKey)defcustom_fk_formfield(model_field, **kwargs):
returndict(
form_class=YourFormField,
custom_form_field_kwarg=something,
**kwargs,
)
# you don't need to pass extra arguments anymore for ForeignKey fields:djhacker.formfield(YourModel.some_fk, queryset=Some.objects.all())
Widget Script attributes
Another thing Django is not doing anytime soon is letting you customize script
tags. Which means there's no
easy way to combine Widget.Media.js and any of the nice new script tag
attributes, including, but not limited to:
async, defer: good to control when your script is loaded
type="module": to load a script as an EcmaScript Module (ESM) and use
imports
Let's have this anyway, first patch Django's Media render_js: