首页 > 解决方案 > 如何将 json 对象设置为 Django 中的隐藏输入

问题描述

如何将json添加到隐藏输入?当输入可见但我希望它被隐藏时,它可以工作。我在表单中添加了一个小部件。显示错误。

| (隐藏字段 geolokalizacja) 此字段是必需的。|

表格.py

class MapaForm(forms.ModelForm):
    class Meta:
        model = Mapa

        fields = ('geolokalizacja',)
        widgets = {'geolokalizacja': forms.HiddenInput()}

html

        <form action='.' method='post' enctype='multipart/form-data'>
            {{ create_form.as_p }}
            {{ mapa_form }}
            {% csrf_token %}
            <p><input type="submit" value="Dodaj obiekt"></p>
        </form>
        <div id="map" style="height: 512px; width: 512px;"></div>

js

    var popup = L.popup();
    function onMapClick(e) {
        popup.setLatLng(e.latlng).setContent( e.latlng.toString()).openOn(map);
        var json = {'type': 'Point', 'coordinates': [e.latlng.lng, e.latlng.lat]};
        $("#id_geolokalizacja").val(JSON.stringify(json))
}

当 Js 将 json 传递给输入时,在 DOM 和 Style Inspector 中向我显示:

<input type="hidden" name="geolokalizacja" value="null" id="id_geolokalizacja">
{"type":"Point","coordinates":[21.91454887390137,52.018592439773414]}
</input>

看起来像啤酒已经采用了。请帮忙

标签: jsondjangodjango-formsdjango-templates

解决方案


推荐阅读