質問編集履歴
8
内容更新
test
CHANGED
@@ -1 +1 @@
|
|
1
|
-
Pythonプログラムの実行結果
|
1
|
+
Pythonプログラムの実行結果がブラウザにできない
|
test
CHANGED
File without changes
|
7
質問内容、ソースコード更新
test
CHANGED
File without changes
|
test
CHANGED
@@ -15,9 +15,11 @@
|
|
15
15
|
│ └mahjong.html
|
16
16
|
└main.py
|
17
17
|
|
18
|
-
"localhost:8080/"に表示されているサブミットを押下したら、"localhost:8080/mahjong"のページ移動するようにしていますが、main.pyで実行している計算結果(print_hand_result(result))がNoneと表示されてしまっています。
|
18
|
+
"localhost:8080/"に表示されているサブミットを押下したら、"localhost:8080/mahjong"のページ移動するようにしていますが、main.pyで実行している計算結果(print_hand_result(result))がNoneと表示されてしまっています。(main.py)を実行したあと、起動するIDLEには計算結果が表示されています。
|
19
19
|
|
20
|
+
ブラウザ上にresultのみを表示した場合は結果が表示されるので、print_hand_resultが原因であることまでは分かっています。
|
21
|
+
|
20
|
-
|
22
|
+
(print_hand_result(result))を表示できるようにしたいのですが、どのようにしたらよいでしょうか。
|
21
23
|
ご教授お願い致します。
|
22
24
|
|
23
25
|
## 発生しているエラー
|
6
更新
test
CHANGED
File without changes
|
test
CHANGED
@@ -1,6 +1,7 @@
|
|
1
1
|
Python初心者です。
|
2
2
|
Pythonで作成したプログラム(簡単な計算/mahjongライブラリ)をbottleフレームワークを使用してWEBブラウザに表示したいと考えています。
|
3
3
|
|
4
|
+
※一部修正しました
|
4
5
|
|
5
6
|
## 実行環境
|
6
7
|
Python3.8以上
|
@@ -11,13 +12,12 @@
|
|
11
12
|
project
|
12
13
|
├views
|
13
14
|
│ ├index.html
|
14
|
-
│ └cgi-bin
|
15
|
-
│
|
15
|
+
│ └mahjong.html
|
16
16
|
└main.py
|
17
17
|
|
18
|
-
"localhost:8080/
|
18
|
+
"localhost:8080/"に表示されているサブミットを押下したら、"localhost:8080/mahjong"のページ移動するようにしていますが、main.pyで実行している計算結果(print_hand_result(result))がNoneと表示されてしまっています。
|
19
19
|
|
20
|
-
|
20
|
+
計算結果を表示できるようにしたいのですが、どのようにしたらよいでしょうか。
|
21
21
|
ご教授お願い致します。
|
22
22
|
|
23
23
|
## 発生しているエラー
|
@@ -33,71 +33,21 @@
|
|
33
33
|
ImportWarning: _ImportRedirect.find_spec() not found; falling back to find_module()
|
34
34
|
```
|
35
35
|
|
36
|
-
```該当ページアクセス
|
37
|
-
Exception occurred during processing of request from ('127.0.0.1', 51048)
|
38
|
-
Traceback (most recent call last):
|
39
|
-
File "C:\Python\lib\socketserver.py", line 316, in _handle_request_noblock
|
40
|
-
self.process_request(request, client_address)
|
41
|
-
File "C:\Python\lib\socketserver.py", line 347, in process_request
|
42
|
-
self.finish_request(request, client_address)
|
43
|
-
File "C:\Python\lib\socketserver.py", line 360, in finish_request
|
44
|
-
self.RequestHandlerClass(request, client_address, self)
|
45
|
-
File "C:\Python\lib\socketserver.py", line 747, in __init__
|
46
|
-
self.handle()
|
47
|
-
File "C:\Python\lib\wsgiref\simple_server.py", line 118, in handle
|
48
|
-
self.raw_requestline = self.rfile.readline(65537)
|
49
|
-
File "C:\Python\lib\socket.py", line 705, in readinto
|
50
|
-
return self._sock.recv_into(b)
|
51
|
-
```
|
52
|
-
|
53
|
-
|
54
|
-
|
55
36
|
## ソースコード
|
56
37
|
|
57
38
|
```main.py
|
58
|
-
|
39
|
+
# -*- coding: utf-8 -*-
|
59
|
-
from bottle import route, run, template,
|
40
|
+
from bottle import route, run, template,view
|
41
|
+
|
60
42
|
import mahjong
|
61
43
|
import os
|
62
|
-
|
63
|
-
@route('/mahjong')
|
64
|
-
def main():
|
65
|
-
return template('index.html')
|
66
|
-
|
67
|
-
@route('/cgi-bin/<filename>',method=["GET","POST"])
|
68
|
-
def static(filename):
|
69
|
-
return static_file(filename,root=".\cgi-bin")
|
70
|
-
|
71
|
-
run(host='localhost', port=8080, debug=True)
|
72
|
-
```
|
73
|
-
|
74
|
-
|
75
|
-
```index.html
|
76
|
-
|
77
|
-
<html>
|
78
|
-
<head>
|
79
|
-
<meta http-equiv="content-type" content="text/html;charset=utf-8">
|
80
|
-
</head>
|
81
|
-
<body>
|
82
|
-
<center><br><br>
|
83
|
-
<form action="/cgi-bin/mj.py" method="POST">
|
84
|
-
<h1><font color="#FF7F50">麻雀点数計算</font></h1><br /><br />
|
85
|
-
<input type="submit" value="結果を表示" />
|
86
|
-
</form>
|
87
|
-
</center>
|
88
|
-
</body>
|
89
|
-
</html>
|
90
|
-
```
|
91
|
-
|
92
|
-
|
93
|
-
```mj.py
|
94
|
-
|
95
|
-
#-*- coding: utf-8 -*-
|
96
|
-
#!/usr/bin/env python
|
97
|
-
|
98
44
|
import cgi
|
99
45
|
import sys
|
100
46
|
import io
|
47
|
+
|
48
|
+
@route('/')
|
49
|
+
def index():
|
50
|
+
return template('index.html')
|
101
51
|
|
102
52
|
#計算
|
103
53
|
from mahjong.hand_calculating.hand import HandCalculator
|
@@ -135,7 +85,7 @@
|
|
135
85
|
#鳴き(なし)
|
136
86
|
melds = None
|
137
87
|
|
138
|
-
#ドラ(表示牌,裏ドラ)
|
88
|
+
54#ドラ(表示牌,裏ドラ)
|
139
89
|
dora_indicators = [
|
140
90
|
TilesConverter.string_to_136_array(pin='7')[0],
|
141
91
|
TilesConverter.string_to_136_array(sou='9')[0],
|
@@ -146,7 +96,56 @@
|
|
146
96
|
|
147
97
|
#計算
|
148
98
|
result = calculator.estimate_hand_value(tiles, win_tile,melds,dora_indicators, config)
|
99
|
+
|
100
|
+
@route('/mahjong',method=["GET","POST"])
|
101
|
+
def mahjong():
|
149
|
-
print_hand_result(result)
|
102
|
+
a=print_hand_result(result)
|
103
|
+
return template('mahjong.html',mahjong=a)
|
104
|
+
|
105
|
+
if __name__ == "__main__":
|
106
|
+
run(host='localhost', port=8080, debug=True)
|
150
107
|
|
151
108
|
```
|
152
109
|
|
110
|
+
|
111
|
+
```index.html
|
112
|
+
|
113
|
+
<!DOCTYPE html>
|
114
|
+
<html lang="jp">
|
115
|
+
<html>
|
116
|
+
<head>
|
117
|
+
<meta http-equiv="content-type" content="text/html;charset=utf-8">
|
118
|
+
</head>
|
119
|
+
<body>
|
120
|
+
<center><br><br>
|
121
|
+
<form action="/mahjong" method="POST">
|
122
|
+
<h1><font color="#FF7F50">麻雀点数計算</font></h1><br /><br />
|
123
|
+
<input type="submit" value="結果を表示" />
|
124
|
+
</form>
|
125
|
+
</center>
|
126
|
+
</body>
|
127
|
+
</html>
|
128
|
+
```
|
129
|
+
|
130
|
+
|
131
|
+
```mahjong.html
|
132
|
+
|
133
|
+
<!DOCTYPE html>
|
134
|
+
<html lang="jp">
|
135
|
+
<html>
|
136
|
+
<head>
|
137
|
+
<meta http-equiv="content-type" content="text/html;charset=utf-8">
|
138
|
+
</head>
|
139
|
+
<body>
|
140
|
+
<center><br><br>
|
141
|
+
<h1><font color="#FF7F50">麻雀点数計算</font></h1><br /><br />
|
142
|
+
</form>
|
143
|
+
<p>
|
144
|
+
結果は<br /><br />
|
145
|
+
{{ mahjong }}
|
146
|
+
</p>
|
147
|
+
</center>
|
148
|
+
</body>
|
149
|
+
</html>
|
150
|
+
```
|
151
|
+
|
5
コードの指摘繁栄
test
CHANGED
File without changes
|
test
CHANGED
@@ -8,16 +8,16 @@
|
|
8
8
|
mahjong 1.1.11
|
9
9
|
|
10
10
|
## ディレクトリ
|
11
|
-
|
11
|
+
project
|
12
12
|
├views
|
13
13
|
│ ├index.html
|
14
14
|
│ └cgi-bin
|
15
|
-
│ └
|
15
|
+
│ └mj.py
|
16
16
|
└main.py
|
17
17
|
|
18
|
-
"localhost:8080/mahjong"に表示されているサブミットを押下したら、"localhost:8080/cgi-bin/mj.py"にページ移動するようにしていますが、
|
18
|
+
"localhost:8080/mahjong"に表示されているサブミットを押下したら、"localhost:8080/cgi-bin/mj.py"にページ移動するようにしていますが、405エラーか404エラーが表示されてしまっています。
|
19
19
|
|
20
|
-
|
20
|
+
サブミットを押下することで、mj.pyの実行結果を表示できるようにしたいのですが、どのようにしたらよいでしょうか。
|
21
21
|
ご教授お願い致します。
|
22
22
|
|
23
23
|
## 発生しているエラー
|
4
初心者アイコン
test
CHANGED
File without changes
|
test
CHANGED
@@ -64,7 +64,7 @@
|
|
64
64
|
def main():
|
65
65
|
return template('index.html')
|
66
66
|
|
67
|
-
@route('/cgi-bin/<filename>',metho
|
67
|
+
@route('/cgi-bin/<filename>',method=["GET","POST"])
|
68
68
|
def static(filename):
|
69
69
|
return static_file(filename,root=".\cgi-bin")
|
70
70
|
|
@@ -82,7 +82,7 @@
|
|
82
82
|
<center><br><br>
|
83
83
|
<form action="/cgi-bin/mj.py" method="POST">
|
84
84
|
<h1><font color="#FF7F50">麻雀点数計算</font></h1><br /><br />
|
85
|
-
<input type="submit"
|
85
|
+
<input type="submit" value="結果を表示" />
|
86
86
|
</form>
|
87
87
|
</center>
|
88
88
|
</body>
|
3
エラーコードを追加
test
CHANGED
File without changes
|
test
CHANGED
@@ -1,5 +1,6 @@
|
|
1
1
|
Python初心者です。
|
2
2
|
Pythonで作成したプログラム(簡単な計算/mahjongライブラリ)をbottleフレームワークを使用してWEBブラウザに表示したいと考えています。
|
3
|
+
|
3
4
|
|
4
5
|
## 実行環境
|
5
6
|
Python3.8以上
|
2
実行環境の追加
test
CHANGED
File without changes
|
test
CHANGED
@@ -1,5 +1,5 @@
|
|
1
1
|
Python初心者です。
|
2
|
-
Pythonで作成したプログラム(簡単な計算)をbottleを使用してブラウザに表示したいと考えています。
|
2
|
+
Pythonで作成したプログラム(簡単な計算/mahjongライブラリ)をbottleフレームワークを使用してWEBブラウザに表示したいと考えています。
|
3
3
|
|
4
4
|
## 実行環境
|
5
5
|
Python3.8以上
|
@@ -14,10 +14,42 @@
|
|
14
14
|
│ └ mj.py
|
15
15
|
└main.py
|
16
16
|
|
17
|
-
"localhost:8080/mahjong"に表示されているサブミットを押下したら、"localhost:8080/cgi-bin/mj.py"にページ移動するようにしてい
|
17
|
+
"localhost:8080/mahjong"に表示されているサブミットを押下したら、"localhost:8080/cgi-bin/mj.py"にページ移動するようにしていますが、Error: 405 Method Not Allowedが表示されてしまっています。
|
18
18
|
|
19
19
|
最終的にはmj.pyの実行結果を、サブミットを押下後に表示できるようにしたいです。
|
20
|
+
ご教授お願い致します。
|
21
|
+
|
22
|
+
## 発生しているエラー
|
23
|
+
|
24
|
+
```main.py起動時
|
25
|
+
Bottle v0.12.19 server starting up (using WSGIRefServer())...
|
26
|
+
Listening on http://localhost:8080/
|
27
|
+
Hit Ctrl-C to quit.
|
28
|
+
|
29
|
+
|
30
|
+
Warning (from warnings module):
|
31
|
+
File "<frozen importlib._bootstrap>", line 914
|
32
|
+
ImportWarning: _ImportRedirect.find_spec() not found; falling back to find_module()
|
33
|
+
```
|
34
|
+
|
35
|
+
```該当ページアクセス
|
36
|
+
Exception occurred during processing of request from ('127.0.0.1', 51048)
|
37
|
+
Traceback (most recent call last):
|
38
|
+
File "C:\Python\lib\socketserver.py", line 316, in _handle_request_noblock
|
39
|
+
self.process_request(request, client_address)
|
40
|
+
File "C:\Python\lib\socketserver.py", line 347, in process_request
|
20
|
-
|
41
|
+
self.finish_request(request, client_address)
|
42
|
+
File "C:\Python\lib\socketserver.py", line 360, in finish_request
|
43
|
+
self.RequestHandlerClass(request, client_address, self)
|
44
|
+
File "C:\Python\lib\socketserver.py", line 747, in __init__
|
45
|
+
self.handle()
|
46
|
+
File "C:\Python\lib\wsgiref\simple_server.py", line 118, in handle
|
47
|
+
self.raw_requestline = self.rfile.readline(65537)
|
48
|
+
File "C:\Python\lib\socket.py", line 705, in readinto
|
49
|
+
return self._sock.recv_into(b)
|
50
|
+
```
|
51
|
+
|
52
|
+
|
21
53
|
|
22
54
|
## ソースコード
|
23
55
|
|
@@ -101,9 +133,6 @@
|
|
101
133
|
|
102
134
|
#鳴き(なし)
|
103
135
|
melds = None
|
104
|
-
```
|
105
|
-
|
106
|
-
|
107
136
|
|
108
137
|
#ドラ(表示牌,裏ドラ)
|
109
138
|
dora_indicators = [
|
1
test
CHANGED
File without changes
|
test
CHANGED
@@ -4,6 +4,7 @@
|
|
4
4
|
## 実行環境
|
5
5
|
Python3.8以上
|
6
6
|
bottle 0.12.19
|
7
|
+
mahjong 1.1.11
|
7
8
|
|
8
9
|
## ディレクトリ
|
9
10
|
mysite
|