我有一个我正在进行的GeoDjango项目,我目前正在收到无法识别为WKT EWKT的字符串或unicode输入,并且在提交表单时出现HEXEWKB错误。
表单中填充了一组图像,这些图像是通过执行distance__lte查询名为ImagesInstagram的图像表生成的。表单显示设定距离内的所有图像以及每个图像旁边的单选按钮。当我选择图像的单选按钮时,我想获取该图像的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很新,我一直在阅读,这篇文章是最后的手段,因为我自己无法弄清楚这一点。谢谢,我也可以发布您可能需要的任何其他相关信息,请告诉我。
感谢。