0
私は日付選択に基づいてcsvをエクスポートすることができるdjangoビューを持っています。ローカルではこの機能は正常に動作します。Django csv HttpResponseはローカルで作業中に壊れています
私はAzureでホストされているWebアプリケーションを持っています。
Azureでは、csv応答URLに404(見つかりません)というエラーが表示されます。 私の推測では、productionsまたはAzureでsettings.pyでcsvのダウンロードを許可するために何かを変更する必要があります。
ビューコード:
def report(request):
if request.method == "POST":
...
do some stuff
...
else:
if 'emp-csv' in request.GET:
# data from date selection
data = request.GET['data']
# Convert string to list
cleandata = ast.literal_eval(data)
# creating csv response
response = HttpResponse(content_type="text/csv")
response['Content-Disposition'] = "attachment; filename='hours_report.csv'"
# Write data to csv file and return
fieldnames = ['Supervisor', 'EmployeeID', 'FirstName', 'LastName', 'NT', 'OT', 'OT2', 'Project', 'Client', 'date']
writer = csv.DictWriter(response, fieldnames=fieldnames, dialect='excel',)
writer.writeheader()
writer.writerows(cleandata)
return response
URLコード:
url(r'employees/report/export', hours_views.report, name="export_csv"),
アズールで生成されたURL:
のweb.config:
<?xml version="1.0" encoding="UTF-8"?>
<configuration>
<system.webServer>
<handlers>
<add name="httpPlatformHandler" path="*" verb="*"
modules="httpPlatformHandler" resourceType="Unspecified" />
</handlers>
<httpPlatform processPath="D:\home\Python27\python.exe"
arguments="run_waitress_server.py" requestTimeout="00:04:00"
startupTimeLimit="120" startupRetryCount="3" stdoutLogEnabled="true">
<environmentVariables>
<environmentVariable name="PYTHONPATH" value="D:\home\site\wwwroot" />
<environmentVariable name="PORT" value="%HTTP_PLATFORM_PORT%" />
</environmentVariables>
</httpPlatform>
</system.webServer>
</configuration>
Waitress.pyファイルは:
import os
from waitress import serve
from django.core.wsgi import get_wsgi_application
os.environ.setdefault("DJANGO_SETTINGS_MODULE", "isi_django.settings")
application = get_wsgi_application()
serve(application, host="0.0.0.0", port=os.environ["PORT"], url_scheme='https')
404は、ビュー内のエラーではないようです。これは、Webサーバーとdjangoをどのように統合するかによって異なります。 webserverの設定と 'report 'の完全な表示コードを投稿します – itzMEonTV
web.configファイルを含めるために上記で編集しました。 – Bchadwick