Gibt es eine Idee, die ich schließenden Tag legen kann (/>) in Texteingabe-Tag von HTML in django Formularverarbeitung?

stimmen
0

// hier ist Form in django Code

<form method=post novalidate>
  {% csrf_token %}
  {{ form }}
  <button type=submit>Submit</button>
</form>

// jetzt wird das Formular übertragen als

<input type=text name=phone_email required id=id_phone_email>
 <input type=text name=full_name required id=id_full_name>

// jetzt dieser HTML-Code hat kein Eingabefeld Endtag (/>) jede ich in der Lage bin zu sein, den jsx Code auszuführen wegen des Fehlens der Schließung Eingang tag.any Idee, wie kann ich Tag put schließen (/>) in django ??

Veröffentlicht am 19/12/2018 um 14:11
quelle vom benutzer
In anderen Sprachen...                            


1 antworten

stimmen
2

Außer Kraft zu setzen, wie eine Form des HTML-Code für seine Eingabefelder macht, können Sie einen benutzerdefinierten Formular-Widget erstellen.

from django.forms.widgets import Input

class JSXInput(Input):
    template_name = 'myapp/widgets/jsxinput.html'

Und fügen Sie diesen Widget auf Ihr Formularfeld:

class MyForm(Form):
    full_name = forms.CharField(widget=JSXInput)

Dann können Sie aus der Krippe django/forms/widgets/input.htmlVorlage im django.forms.templatesModul und Ihre schließende Klammer hinzuzufügen.

<input type="{{ widget.type }}" .... />

Dies war für Django 2, aber iirc es ist ziemlich ähnlich in 1,11.

Allerdings sollte man sich fragen , ob Ihr JSX Code von Django gemacht werden soll, oder stattdessen einen statischen Vorteil , dass dann spricht mit einem Django REST - API.

Beantwortet am 19/12/2018 um 14:39
quelle vom benutzer

Cookies help us deliver our services. By using our services, you agree to our use of cookies. Learn more