如何将javascript变量中的信息添加到Django模型表单输入中?

2024-09-30 12:33:37 发布

您现在位置:Python中文网/ 问答频道 /正文

我正在使用Django构建一个web应用程序。该页面显示了一个大的传单地图,用户可以在其中从多个图层中选择一个。我希望用户能够选择一个层,点击地图,并添加一个说明,该位置和该层。你知道吗

我已经创建了一个模型表单,它保存了注释本身。这工作正常,并保存到我的数据库。但是,我还需要包括当前选定的层和鼠标单击位置,它可以作为JS变量使用。我怎么在Django传递这个?你知道吗

我的views.py包含以下内容:

if request.method == 'POST':
        form = MapNoteForm(request.POST)
        if form.is_valid():
            form.save()
    else:
        form = MapNoteForm()

forms.py

class MapNoteForm(forms.ModelForm):
    note = forms.CharField()

    class Meta:
        model = MapNote
        fields = ('note',)

最后,模板的相关部分:

  map.on('click', function (e) {
      var MapNote = L.popup();
      var content = '<form method="post"> {% csrf_token %} {{form}} <br> <button type="submit"> Save</button>'
      MapNote.setContent(content);
      MapNote.setLatLng(e.latlng); //calculated based on the e.layertype
      MapNote.openOn(map);
      })

我想反转Django视图的工作方式,尝试将模板中的内容传递给Django,而不是相反。最好的方法是什么?你知道吗


Tags: django用户pyform模板ifrequest地图

热门问题