其他分享
首页 > 其他分享> > Django传递js变量到Django视图

Django传递js变量到Django视图

作者:互联网

我的问题与Google Maps JavaScript API有关.更具体的自动完成功能.

我已经将自动完成功能作为搜索栏添加到了我的测试站点,并且工作正常,但是现在我想将所选的参数传递给Django视图.在这里我被卡住了.

这是我的模板中的内容:

<script src="https://maps.googleapis.com/maps/api/js?sensor=false&libraries=places"></script>
<script type="text/javascript">
   function initialize() {
      var input = document.getElementById('searchTextField');
      var autocomplete = new google.maps.places.Autocomplete(input);
   }
   google.maps.event.addDomListener(window, 'load', initialize);
   google.maps.event.addListener(autocomplete, 'place_changed', function() {
   var place = autocomplete.getPlace();
   });
</script>

<form method="post" action="">{% csrf_token %}
    <input id="searchTextField" type="text" placeholder="Enter a location" autocomplete="on">
    <input type="submit" value="Search" class="postfix button"/>
</form>

在我看来,这是:

def homepage(request):
    if request.method == 'POST':
        location = request.POST
else:
    location = ''
return render_to_response('homepage.html', {'location':location}, context_instance = RequestContext(request))

我想做的就是在Django视图中将变量“位置”传递给变量“位置”(var位置应包含lat和lon,我想在Geodjango中进一步使用). request.POST给出以下内容:< QueryDict:{u'csrfmiddlewaretoken':[u'4xp3nNwzeITb1zHhkBkSGlZSPtGwmuMB']}>但这我不能使用.

是否可以将var place的内容传递给django视图?

感谢您的反馈!

编辑:
我目前使用geopy的解决方法:

模板:

<input id="searchTextField" name="searchTextField" type="text" placeholder="Enter a location" autocomplete="on">

视图:

if request.method == 'POST':
    location = request.POST.get('searchTextField')
    gn = geocoders.Google()  
    place, (lat, lng) = gn.geocode(location)

仍在寻找一种访问脚本中var位置的方法.这可能吗?

解决方法:

首先,将名称属性添加到您的搜索输入中.假设您像id一样将其称为searchTextField.然后,您可以执行request.POST.get(‘searchTextField’).

标签:google-maps-api-3,python,django
来源: https://codeday.me/bug/20191127/2077022.html