質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
85.48%
Python 3.x

Python 3はPythonプログラミング言語の最新バージョンであり、2008年12月3日にリリースされました。

Webサーバー

Webサーバーとは、HTTPリクエストに応じて、クライアントに情報を提供するシステムです。

PyCharm

エディター・開発ツール

Q&A

1回答

1157閲覧

pythonでの簡易チャットアプリの作成で、htmlがブラウザ上に表示されなくって困っています。。。

TakumiMinegishi

総合スコア6

Python 3.x

Python 3はPythonプログラミング言語の最新バージョンであり、2008年12月3日にリリースされました。

Webサーバー

Webサーバーとは、HTTPリクエストに応じて、クライアントに情報を提供するシステムです。

PyCharm

エディター・開発ツール

0グッド

0クリップ

投稿2017/12/16 15:03

###前提・実現したいこと
簡単なチャットアプリを作ってブラウザ上に表示しようとしているのですが、コマンドプロントから簡易サーバを立て、localhostにアクセスしてもブラウザにhtmlが表示されません。エラーにはなっていないのでどこが間違っているのかわからない状態です。
プログラミング初心者ですが、解決のほどよろしくお願いします。

###発生している問題・エラーメッセージ

ブラウザに表示されない。エラーは出ていない

###該当のソースコード

#!/usr/bin/env python3 import cgi import cgitb import os.path import html cgitb.enable() FILE_LOG = "chat-log.txt" #HTMLの描画 def print_html(body): print("Content-Type: text/html; charset = utf-8") print("") #htmlを出力 print(""" <html> <head> <meta charset = "utf-8"> <title>チャット</title> </head> <body> <h1>チャット</h1> <div> <form> 名前:<input type = "text" name = "name" size = "8"> 本文:<input type = "text" name = "body" size = "20"> <input type = "submit" value = "発言"> <input type = "hidden" name = "mode" value = "write"> </form> </div> <hr> {0} </body> </html> """.format(body)) def mode_read(form): log = "" if os.path.exists(FILE_LOG): with open(FILE_LOG,"r",encoding='utf-8') as f: log = f.read() print_html(log) def jump(url): print("Status: 301 Moved Permanently") print("Location: " + url) print("") print('<html><head>') print('<meta http-equiv = "refresh" content = "0;'+ url +'">') print('</head><body>') print('<a href = "'+ url +'">jump</a></body></html>') def mode_write(form): name = form.getvalue("name","no name") body = form.getvalue("body", "") name = html.escape(name) body = html.escape(body) with open(FILE_LOG, "a+", encoding='utf-8') as f: f.write("<p>{0}: {1}</p><hr>\n".format(name,body)) jump('prac.py') def main(): form = cgi.FieldStorage() mode = form.getvalue("mode", "read") if mode == "read": mode_read(form) elif mode == "write": mode_write(form) else: mode_read(form) if __name__ == "__main__": main()

###試したこと
プログラム上、バグがないのは確認済みです。
pcは64bitでpythonは32bitで実行していたのでそれが怪しいのかなと思いましたが、正解が分かりません。さらにこのほかにも簡単なHTMLファイルを作って実行しましたが、その時は%1 は有効なWin32アプリケーションではありません」と表示されてしまいました。
###補足情報(言語/FW/ツール等のバージョンなど)
より詳細な情報

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

guest

回答1

0

Win32なのに
#!/usr/bin/env python3
ですか?

これはMac/Linux上でうまく実行できるものをWindowsで実行できないということでしょうか。

投稿2017/12/17 05:28

mkgrei

総合スコア8560

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

まだベストアンサーが選ばれていません

会員登録して回答してみよう

アカウントをお持ちの方は

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.48%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問