django crispy-forms & floppyforms mit bootstrap: wie man help_text in ein ModelForm bekommt?

8

Ich habe gerade ein kleines (aber nerviges) Problem mit Django-Formen.

Ich benutze:

  • twitter bootstrap
  • django floppyforms (nur für die html5-Widgets)
  • django crispy-forms (für die Template-Tags und das Rendering)
  • Meine Formulare sind alle ModelForms und das sollte sich nach Möglichkeit nicht ändern

Ich habe das ganze Web durchsucht und viele Sachen ausprobiert, aber ich kann den Ort nicht herausfinden, an dem ich help_text="Irgendein zufälliger Hilfetext" in den Code einfügen kann. Also hier ist mein Code (abgekürzt aus Gründen der Gesundheit):

%Vor%

Ich habe versucht, es als "attrs" dict in das Widget und als Attr in das Feld zu injizieren.

%Vor%

Ich brauche nicht zu sagen, dass es nicht funktioniert hat. Ich brauche einen Hook , um den Hilfstext in ein 'span' oder 'p' innerhalb meines Steuerelemente-divs einzufügen, nicht in das Eingabe-Widget.

Meine Vorlage ist sehr minimal und sollte nach Möglichkeit so bleiben. Ich möchte nicht über die Formularfelder iterieren:

%Vor%

Das rendert sich wie folgt:

%Vor%

Mit dem Hilfetext sollte es so aussehen:

%Vor%

Jede Hilfe wird geschätzt! Ich habe nicht versucht, den Code durch views.py in das Formular zu injizieren, aber ich sehe keinen Sinn darin. Dies sollte in forms.py mit dem richtigen Hook und der richtigen Syntax möglich sein.

Entschuldigung für den langen Text für solch ein einfaches Problem;)

    
tiwei 12.04.2012, 11:40
quelle

1 Antwort

8

Ich habe herausgefunden, was das Problem war. Da ich die Felder nicht wirklich definiert habe (ich habe nur die Feldwidgets definiert), konnte ich nicht auf den Hilfetext zugreifen. Sie können entweder die Felder in forms.py definieren (was unnötig und schlecht ist, sie sind doch ModelFields) oder den Hilfstext für das Modell in models.py setzen.

Hoffe das hilft anderen, die ein ähnliches Problem haben.

    
tiwei 26.11.2012, 09:08
quelle