猿问

如何将 javascript 变量中的信息添加到 Django ModelForm 输入?

我正在使用 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,而不是反之亦然。这里最好的方法是什么?


泛舟湖上清波郎朗
浏览 164回答 1
1回答

蛊毒传说

点击这里查看文档可以使用ajax表单提交将数据提交到表单
随时随地看视频慕课网APP

相关分类

Python
我要回答