首页 > 解决方案 > 您可以使用 id_fieldname 从 django 模板获取 django 表单 id 吗?

问题描述

我正在使用具有 3 个字段的模型表单 - 名称、国家和城市。我的模板看起来像这样-

<form method="post" id="personForm" data-cities-url="{% url 'ajax_load_cities' %}">
    
    {% csrf_token %}
        {{form}}
  
    <input type="submit" value="Submit">
</form>

下面是更多的 jQuery 代码,它使用这样的代码获取“国家”字段的 id -

$("#id_country").change(function ()....

我需要在这里提到两件事,除了这个 jQuery 代码之外,我的代码中没有任何地方有 id_country。此外,我还没有在任何地方为国家/地区字段设置 id 属性。

所以我的问题是,这是 django 还是 jQuery 中的一个东西,您可以在字段名称前使用 id_ 获取字段的 id?

我阅读了 django 文档,没有见过这样的东西。我在这里想念什么?

感谢您的任何意见。

标签: djangoforms

解决方案


当渲染一个 Django 表单时,它会自动id在表单字段上渲染一个属性。正如您所注意到id的,它的形式为id_<field-name>. 这在使用表单模板部分的文档中进行了说明:

请注意,每个表单字段都有一个 ID 属性设置为id_<field-name>

因此你有一个idasid_country因为你有一个名为country. 如果你有一个名为foo它的字段,它的 id 将是id_foo.


推荐阅读