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

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

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

Python 2.7は2.xシリーズでは最後のメジャーバージョンです。Python3.1にある機能の多くが含まれています。

Python 3.x

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

Python

Pythonは、コードの読みやすさが特徴的なプログラミング言語の1つです。 強い型付け、動的型付けに対応しており、後方互換性がないバージョン2系とバージョン3系が使用されています。 商用製品の開発にも無料で使用でき、OSだけでなく仮想環境にも対応。Unicodeによる文字列操作をサポートしているため、日本語処理も標準で可能です。

Q&A

解決済

3回答

4042閲覧

プログラミング初心者です。 python のwebアプリを作りたくて勉強しているのですがブラウザにそのままスクリプトが表示されてしまいます。

wakahiro

総合スコア20

Python 2.7

Python 2.7は2.xシリーズでは最後のメジャーバージョンです。Python3.1にある機能の多くが含まれています。

Python 3.x

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

Python

Pythonは、コードの読みやすさが特徴的なプログラミング言語の1つです。 強い型付け、動的型付けに対応しており、後方互換性がないバージョン2系とバージョン3系が使用されています。 商用製品の開発にも無料で使用でき、OSだけでなく仮想環境にも対応。Unicodeによる文字列操作をサポートしているため、日本語処理も標準で可能です。

0グッド

0クリップ

投稿2017/06/29 08:52

pythonでウェブアプリを作りたくて勉強を始めました。
みんなのpython webアプリ編(http://coreblog.org/ats/stuff/minpy_web/04/index.html)
こちらの教材で勉強してる初心者なのですが、アプリを起動させるとwebブラウザにスクリプトがそのまま表示されてアプリが起動されず文字化けも起きてしまいます。
少し自分で調べていろいろ試してみたのですが下記のスクリプトが表示されたまま変わらずの状態です。
お手数をおかけしますが、お力かしていただけたらと思います。
よろしくお願いします。

###該当のソースコード #!/usr/bin/env python # coding: utf-8 import cgi from datetime import datetime html_body = u""" <html><head> <meta http-equiv="content-type" content="text/html;charset=utf-8"> </head> <body> %s </body> </html>""" content='' form=cgi.FieldStorage() year_str=form.getvalue('year', '') if not year_str.isdigit(): content=u"西暦を入力してください" else: year=int(year_str) friday13=0 for month in range(1, 13): date=datetime(year, month, 13) if date.weekday()==4: friday13+=1 content+=u"%d年%d月13日は金曜日です" % (year, date.month) content+=u"<br />" if friday13: content+=u"%d年には合計%d個の13日の金曜日があります" % (year, friday13) else: content+=u"%d年には13日の金曜日がありません" print "Content-type: text/html;charset=utf-8\n" print (html_body % content)

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

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

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

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

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

guest

回答3

0

やったことを書きましょう。OSはWindows?

cgiserver.py を書いた
cgi-bin というディレクトリを作った
cgi-bin の中に質問のpythonファイルを書いた
python cgiserver.py を起動した
http://localhost:8000/cgi-bin/なんとか.py にアクセスした

Windowsならまぁこんな感じでやれば、正しく表示されなかったりエラーになったりすることはあっても、cgiは動くかと思います。
(Python3の環境しかないのでそこでの機能の違いはあるかもしれませんが。なぜ今Python2なのか? という疑問はあります)

なにかやらなかったこと、他にやったことがあれば。

投稿2017/06/29 10:03

quickquip

総合スコア11038

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

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

wakahiro

2017/06/29 11:12

ありがとうございます。解決することができました。
guest

0

これだけの情報では原因が特定できませんが、ちょっと見て思いついただけ列記します。

・httpd.confのcgi-binの設定
・httpd.confのAddHandlerに.pyがない
・#!/usr/bin/env pythonが自身の環境にあっていない
・###該当のソースコードが邪魔

どれかでしょうか・・・

投稿2017/06/29 09:21

s.t.

総合スコア2021

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

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

wakahiro

2017/06/29 11:09

ありがとうございます。無事に解決することができました。
guest

0

ベストアンサー

pythonでcgiサーバは起動していますか?

まず、適当な場所にcgi-binというフォルダを作り、そのなかにスクリプトファイル(test.pyとします)を置きます。


C:¥cgi-bin¥test.py

コマンドプロンプトなどのコンソールを起動して、cgi-binフォルダのルートまで移動します。
cd C:¥

cgiサーバを起動します。コンソールで
python -m http.server --cgi
とコマンドしてください。

ウェブブラウザを起動して、
http://localhost:8000/cgi-bin/test.py
にアクセスします。

引数を与えるときは、
http://localhost:8000/cgi-bin/test.py?year=1000
などとします。

参考
http://qiita.com/shuichi0712/items/5ddc5b4e30c2373b17fb

投稿2017/06/29 09:47

driftglass

総合スコア17

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

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

wakahiro

2017/06/29 11:10

ありがとうございます。入力いただいた手順で解決することができました。 とてもたすかりました。
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

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

ただいまの回答率
85.48%

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

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

質問する

関連した質問