開発環境
- macOS Sierra - Apple (OS)
- Emacs (Text Editor)
- Python 3.5 (プログラミング言語)
Introducing Python: Modern Computing in Simple Packages (Bill Lubanovic (著)、 O'Reilly Media)のChapter 9(The Web, Untangled)、Things to Do 9.1-5.を取り組んでみる。
Things to Do 9.1-5.
コード(Emacs)
app.py
#!/usr/bin/env python3
# -*- coding: utf-8 -*-
from flask import Flask, render_template, request
app = Flask(__name__)
@app.route('/')
def home():
return "It's alive!"
@app.route('/home/')
def home1():
thing = request.args.get('thing')
height = request.args.get('height')
color = request.args.get('color')
return render_template('home.html',
thing=thing, height=height, color=color)
app.run(debug=True)
client.py
#!/usr/bin/env python3
# -*- coding: utf-8 -*-
import requests
f = open('client.log', 'w')
url = 'http://localhost:5000'
def get_url(url):
print(requests.get(url).text, file=f)
for u in [url, '{0}/home'.format(url),
'{0}/home?thing=thing0&height=height0&color=color0'.format(url)]:
print(u, file=f)
get_url(u)
入出力結果(Terminal, IPython)
$ ./app.py
* Running on http://127.0.0.1:5000/ (Press CTRL+C to quit)
* Restarting with stat
* Debugger is active!
* Debugger pin code: 238-692-058
127.0.0.1 - - [19/Nov/2016 17:18:32] "GET / HTTP/1.1" 200 -
127.0.0.1 - - [19/Nov/2016 17:18:32] "GET /home HTTP/1.1" 301 -
127.0.0.1 - - [19/Nov/2016 17:18:32] "GET /home/ HTTP/1.1" 200 -
127.0.0.1 - - [19/Nov/2016 17:18:32] "GET /home?thing=thing0&height=height0&color=color0 HTTP/1.1" 301 -
127.0.0.1 - - [19/Nov/2016 17:18:32] "GET /home/?thing=thing0&height=height0&color=color0 HTTP/1.1" 200 -
C-c C-c$ cat client.log
http://localhost:5000
It's alive!
http://localhost:5000/home
<!doctype html>
<html>
<head>
<title>It's alive!</title>
</head>
<body>
I'm of course referring to None, which is None feet tall and
None.
</body>
</html>
http://localhost:5000/home?thing=thing0&height=height0&color=color0
<!doctype html>
<html>
<head>
<title>It's alive!</title>
</head>
<body>
I'm of course referring to thing0, which is height0 feet tall and
color0.
</body>
</html>
$
0 コメント:
コメントを投稿