現在取り組んでいる GeoDjango プロジェクトがあり、現在、WKT EWKT として認識されない文字列またはユニコード入力を受け取り、フォームを送信すると HEXEWKB エラーが発生します。
このフォームには、距離 __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>
フォーム内のデータの検証など、コードで修正する必要があることがおそらくいくつかあることを知っています...コードブロック。私はdjangoに非常に慣れていません。可能な限り読んでいますが、この投稿は最後の手段です。これを自分で理解することができなかったからです。ありがとうございます。他にも必要な関連情報を投稿できますので、お知らせください。
ありがとう。