QA@IT

pythonのブラウザ表示する方法を教えて欲しいです。

3804 PV

pythonを勉強しているのですが、ブラウザ表示がうまくできません。どなたか教えていただけますでしょうか。

目標:ブラウザで「hello,world」と表示させること。

ファイル名 「hello.py」
[中身のコード]
__

from bottle import route, run, template

@route('/hello/')
def index(name):
return template('Hello {{name}}!', name=name)

run(host='0.0.0.0', port=8080)
__

コマンドプロンプトから「python hello.py」と実行すると、
Bottle v0.12.9 server starting up (using WSGIRefServer())...
Listening on http://0.0.0.0:8080/
Hit Ctrl-C to quit.
ってなりました。
その後のブラウザ表示でエラー。
URLには、「http://0.0.0.0:8080/」と打ち込みました。
別のサイトで回答をもらい、再度試しましたが再びエラーでした。
回答は以下の2つのURLでアクセスすればいいとのことでした。
1、 http://localhost:8080/ 
 2、 http://127.0.0.1:8080/

エラー内容は、

Error: 404 Not Found
Sorry, the requested URL 'http://127.0.0.1:8080/' caused an error:
Not found: '/'
でした。

また、アクセスの度にコマンドプロンプトに、ログのようなものが追加されていきます、下のようなものです。
127.0.0.1 - - [21/Jul/2016 16:57:36] "GET / HTTP/1.1" 404 720
127.0.0.1 - - [21/Jul/2016 16:58:27] "GET / HTTP/1.1" 404 720
127.0.0.1 - - [21/Jul/2016 16:58:48] "GET / HTTP/1.1" 404 720
127.0.0.1 - - [21/Jul/2016 16:59:07] "GET / HTTP/1.1" 404 720
127.0.0.1 - - [21/Jul/2016 16:59:07] "GET /favicon.ico HTTP/1.1" 404 742
127.0.0.1 - - [21/Jul/2016 17:32:18] "GET / HTTP/1.1" 404 720
127.0.0.1 - - [21/Jul/2016 17:32:18] "GET /favicon.ico HTTP/1.1" 404 742

他に、根本的な原因があれば教えてほしいです。
考えられる原因と解決策を具体的におしえてくださると助かります。
どなたかよろしくお願いします。

回答

実行後に

http://127.0.0.1/hello/ysasakik

にアクセスしてください。他の部分に問題がなければきっと表示されると思います。

@route('/hello/<name>')と指定しています。 これはサーバーの /hello/???? にアクセスがあった場合の処理という意味になります。????にあたる部分は nameとして扱う。とも書いてあります<name>

一方で@route('/')についての処理は書いていませんので、python(Bottle)は404 Not Foundを返しています。

0.0.0.0というIPアドレスは端末には設定できない、特殊な意味を持つものです。
このIPが意味するところは、状況によって変わるのですが、「サーバーアプリケーションが 0.0.0.0 で待ち受ける」という場合においては、自分の持つどのIPアドレスに向けられたものも受け付けるというような意味です。
ループバック(127.0.0.1)でも、装備しているどのNICのIPアドレス( 192.168・・・とか10.10・・・・とか )でも受け付けます。

ループバックアドレスについては自分で調べてみてください。

編集 履歴 (0)
ウォッチ

この質問への回答やコメントをメールでお知らせします。