1

我现在正在处理一个 GeoDjango 项目,我目前正在接收无法识别为 WKT EWKT 的字符串或 unicode 输入,并且在提交表单时收到 HEXEWKB 错误。
该表单填充了一组图像,这些图像是通过对名为 ImagesInstagram 的图像表执行 distance__lte 生成的。该表单显示设置距离内的所有图像以及每个图像旁边的单选按钮。当我选择图像的单选按钮时,我想获取该图像的 id 并将 id 发布到名为 ImagesTravel 的新/单独表中。在表单中生成图像的查询工作正常,当我选择一个单选按钮并单击提交表单时,该变量也填充了正确的图像 ID。但是,我仍然收到错误,就好像我错误地传递了 geo_point 一样。下面是所有的代码。

意见

查看以填充表单

def curate_detailed_main(request, geo_point):       
   placestring = str(geo_point)
   pnt = GEOSGeometry(placestring)    
   places = ImagesInstagram.objects.filter(geo_point__distance_lte=(pnt, D(km=5)))    
   args = {}
   args.update(csrf(request))
   args['places'] = places
   return render_to_response('curate_detailed_main.html', args)

查看表单提交帖子到

def curate_detailed_main_auth(request):    
    if request.method == 'POST':
        p = get_object_or_404(ImagesInstagram, pk=instagram_id_num)
        selected_image = p.choice_set.get(pk=request.POST['choice'])
        ImagesTravel.Image_id = selected_image.Image_id
        ImagesTravel.save()
        return HttpResponseRedirect('/')
    else:
        return render_to_response('curate_detailed_main.html')

模板

<form action="/curate/get/main/auth/" method="post" id="UpdateMain" name="myForm">
    {% csrf_token %}
    <input type="submit" value="Update" />

    {% for place in places %}

<table border="0">
    <tr>            
    <th><img name="low_res_url" src="{{ place.low_res_url}}" width="200"/></th>
            <th><input type="radio" name="choice" id="choice{{ forloop.counter }}"               value="{{ place.geo_point }}"></th>
    </tr>
</table>

{% endfor %}
</form>

我知道在我的代码中可能需要更正几件事,例如验证表单中的数据等...但是代码块 curate_detailed_main_auth 甚至没有运行,因为错误发生在它甚至尝试执行之前代码块。我对 django 很陌生,我一直在尽可能多地阅读,这篇文章是最后的手段,因为我自己无法弄清楚这一点。谢谢,我也可以发布您可能需要的任何其他相关信息,请告诉我。

谢谢。

4

0 回答 0