Überschreiben Django-Formular-Feld name attr

Habe ich gebaut, eine Django-Formular senden zu einer Seite auf einer anderen domain (die ich nicht kontrollieren). Die Idee ist, dass ich eine schön gestaltete, sauber generiert, form, passt in meiner eigenen Website und führt den Nutzer woanders, wenn es eingereicht wird.

Jedoch

  • Wenn die andere form ändert die Namen der Felder, die ich ändern müssen die Namen der Felder in meinem Formular, und ändern Sie dann die Namen, die überall in meiner Anwendung - da die name attr gekoppelt ist, um den Namen der Eigenschaft für das Feld.
  • Wenn der remote-Formular verwendet, dumme Namen dann meine form-Objekt muss ebenfalls über Eigenschaften verfügen mit dummen Namen, die verpestet meine Anwendung code.
  • Sollten diese Namen zufällig reservierte Wörter in Python (z.B. from), dann ist es schwierig oder unmöglich, zum erstellen einer Django-Formular-Objekt-Darstellung.

Gibt es eine Möglichkeit, wenn Sie eine andere Zeichenfolge verwenden, für die 'name' - Attribut, wenn das Feld angezeigt wird? Also, Entkopplung des HTML-Formulars von der Klasse, die Sie repräsentiert.

Diesem würde müssen zwei Komponenten:

  1. Überschreiben der name-Wert im widget
  2. Das Formular Lesen Sie diesen Wert aus Anfrage.POST, wenn es gebunden ist

Brauche ich nur Schritt 1 in diesem Fall, aber Schritt 2 ist, relevante Probleme zu lösen, die ich oben aufgelistet allgemein

InformationsquelleAutor der Frage adamnfish | 2012-01-10

Schreibe einen Kommentar