Existe alguma idéia de que eu posso colocar tag de fechamento (/>) na tag de inserção de texto de html no processamento de formulários Django?

votos
0

// aqui é forma em Django

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

// agora o formulário é processado como

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

// agora este código html não tem nenhuma marca de fechamento campo de entrada (/>) qualquer estou a ser capaz de executar o código JSX por causa da ausência de fechar ideia entrada tag.any como eu posso colocar fechando tag (/>) no Django ??

Publicado 19/12/2018 em 14:11
fonte usuário
Em outras línguas...                            


1 respostas

votos
2

Para substituir como uma forma torna o HTML para os seus campos de entrada, você pode criar um widget de formulário personalizado.

from django.forms.widgets import Input

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

E adicionar esta ferramenta ao seu campo de formulário:

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

Então você pode berço fora do django/forms/widgets/input.htmlmodelo no django.forms.templatesmódulo e adicionar seu chave de fechamento.

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

Este foi para Django 2, mas IIRC é bastante similar em 1.11.

No entanto , você deve se perguntar se ou não o seu código JSX deve ser processado por Django, ou em vez ser um recurso estático que fala então a uma API Django REST.

Respondeu 19/12/2018 em 14:39
fonte usuário

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