/ / Comment puis-je placer du texte avant le formulaire de saisie sur le site d'administration? - django, django-forms, django-admin

Comment puis-je placer du texte avant le formulaire de saisie dans le site d'administration? - django, django-forms, django-admin

Comment puis-je placer du texte, par exemple l'ID utilisateur, avant la saisie de texte? J'ai besoin de quelque chose comme ça

maquette

code est un DecimalField

dois-je créer un widget totalement nouveau?

Merci beaucoup

Réponses:

0 pour la réponse № 1

Vous devez personnaliser votre ModelAdmin widget de classe et de formulaire, comme

from django import forms
from django.utils.safestring import mark_safe

class ModelAdminFoo(admin.ModelAdmin):
def formfield_for_dbfield(self, db_field, **kwargs):
request = kwargs["request"]
if db_field.name == "code":
# You could put following customized widget elsewhere
class Widget(forms.TextInput):
def render(self, *args, **kwargs):
return mark_safe("%d - " % request.user.pk) + super(Widget, self).render(*args, **kwargs)
kwargs["widget"]= Widget()
return super(ModelAdminFoo, self).formfield_for_dbfield(db_field, **kwargs)