//这是Django代码中的表格
<form method="post" novalidate>
{% csrf_token %}
{{ form }}
<button type="submit">Submit</button>
</form>
//现在表单呈现为
<input type="text" name="phone_email" required id="id_phone_email">
<input type="text" name="full_name" required id="id_full_name">
///现在此html代码没有任何输入字段关闭标记(/>),因为没有关闭输入标记,我能够运行jsx代码。我不知道如何放置关闭标记( />)在Django中?
答案 0 :(得分:2)
要覆盖表单如何呈现其输入字段的HTML,可以创建一个自定义表单窗口小部件。
from django.forms.widgets import Input
class JSXInput(Input):
template_name = 'myapp/widgets/jsxinput.html'
并将此小部件添加到您的表单字段中:
class MyForm(Form):
full_name = forms.CharField(widget=JSXInput)
然后,您可以退出django/forms/widgets/input.html
模块中的django.forms.templates
模板,并添加右括号。
<input type="{{ widget.type }}" .... />
这是针对Django 2的,但iirc与1.11非常相似。
但是,您应该问自己:JSX代码是否应该由Django呈现,或者应该是静态资产,然后与Django REST API进行通信。