私はDjangoとJappletにかなり慣れていません。これは、彼らとの最初のプロジェクトです。アプレットはdjango静的フォルダーからいくつかの画像を取得し、ユーザーがいくつかの線とマーカーを追加できるようにします。この最後に、JAppletの[保存]ボタンをクリックすると、Djangoサーバーに対してPOST呼び出しを実行して、マークと行を保存する必要があります。実際、私はマーカーでテストしているだけで、それを行うことはできません。
マーカーのモデルは次のとおりです。
class Point(models.Model):
id_edificio = models.ForeignKey(Building)
RFID = models.CharField(max_length=200)
x = models.IntegerField()
y = models.IntegerField()
piano = models.IntegerField()
ingresso = models.BooleanField()
彼の見解:
def point(request, id_edificio, RFID, x, y, piano):
point = csrf_exempt(point)
if request.method == 'POST':
get_object_or_404(Building, pk=id_edificio)
p = Point()
p.id_edificio = id_edificio
p.RFID = RFID
p.x = x
p.y= y
p.piano = piano
p.ingresso = True
p.save()
Webブラウザーでこのビューにアクセスする必要がないため、テンプレートを実装していません。
URL:
url(r'^buildings/generate/point', 'buildings.views.point'),
JApplet保存方法:
private void saveData(MarkerArrayList markers, PathArrayList paths) {
String response;
URL endpoint = null;
try {
endpoint = new URL("http://127.0.0.1:8000/buildings/generate/point");
} catch (MalformedURLException e1) {
e1.printStackTrace();
}
for(Marker m: markers) {
Reader data = new StringReader("id_edificio="+id_building+"&"+m.toString());
try {
Post.postData(data, endpoint);
} catch (Exception e) {e.printStackTrace();}
}
}
マーカーtoString()メソッド:
public String toString() {
return "RFID="+ RFID + "&" +
"x=" +
"y=" + y + "&" +
"piano=" + floor + "&";
}
私のJavaメソッドPostは正しいと思います。あなたがそれを見たいならば、私に尋ねてください;)
POSTでのDjangoサーバーからのエラー:
[28/Sep/2012 07:21:46] "POST /buildings/generate/point HTTP/1.1" 403 2294
私は知っておくべきワスを知りません、私はあなたの手にあります。
ターンク