ユーザーがダウンロードできるように、その場で KML ファイルを作成しようとしています。KML を作成して保存するために Python で KML ライブラリを使用していますが、ファイルを ad ownload として返したいと考えています。基本的に、アプリ内のユーザーがリンクをクリックすると、KML が生成され、ユーザーがリンクをクリックしてダウンロードされます。私が持っているコードは機能しておらず、応答が正しく設定されていないと推測しています:
views.py で:
def buildKML(request):
# Create the HttpResponse object with the appropriate PDF headers.
response = HttpResponse(content_type='application/kml')
response['Content-Disposition'] = 'attachment; filename="botanicalgarden.kml"'
#just testing the simplekml library for now
kml = simplekml.Kml()
kml.newpoint(name="Kirstenbosch", coords=[(18.432314,-33.988862)]) # lon, lat, optional height
kml.save('botanicalgarden.kml')
return response
リンクをクリックするか、リンクに移動すると、このメソッドを実行するとエラーが発生します。
No results - Empty KML file
filename= と、保存される final が同じではないためだと思います。