前提・実現したいこと
python3でcgiモジュールを使用してhtmlのフォームから送られた値を使いウェブサイトを製作しています。フレームワークはdjangoです。ローカル環境では問題なく稼働しますが、GitHubからHEROKUにデプロイするとページが表示できなく困っています。本番サーバーでcgiモジュールを使用するためにはどうすれば良いかご指導いただきたいです。
発生している問題・エラーメッセージ
Failed to load resource: the server responded with a status of 404 (Not Found)
templates/index.html
<!DOCTYPE html> <html> <head> <meta charset="utf-8"> <title>CGIテスト</title> </head> <body> <form action="http://localhost:8080/cgi-bin/test.py" method="POST"> <input type="text" name="foo"> <input type="text" name="bar"> <input type="submit"> </form> </body> </html>
templates/cgi-bin/test.py
#!/usr/bin/env python # -*- coding: utf-8 -*- import cgi import cgitb cgitb.enable() print("Content-Type: text/html") print() form = cgi.FieldStorage() for key in form: value = form[key].value print('<p>%s: %s</p>' % (key, value))
templates/cgi-bin/.htaccess
Options +ExecCGI AddType application/x-httpd-cgi .pl
試したこと
test.pyをchmod755に変更
シェバンの確認本番サーバだと変更でしょうか?
cgi-binの配置場所いろいろ・・・分からない?
test.pyのルートパスhttp://localhost:8080/cgi-bin/test.pyを本番のURLに変更してもページが表示されない。
.htaccessとは必要でしょうか?
製作環境
macOS Catalina
バージョン10.15.7
あなたの回答
tips
プレビュー