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

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

新規登録して質問してみよう
ただいま回答率
85.50%
Windows 10

Windows 10は、マイクロソフト社がリリースしたOSです。Modern UIを標準画面にした8.1から、10では再びデスクトップ主体に戻され、UIも変更されています。PCやスマホ、タブレットなど様々なデバイスに幅広く対応していることが特徴です。

Flask

FlaskはPython用のマイクロフレームワークであり、Werkzeug・Jinja 2・good intentionsをベースにしています。

MySQL

MySQL(マイエスキューエル)は、TCX DataKonsultAB社などが開発するRDBMS(リレーショナルデータベースの管理システム)です。世界で最も人気の高いシステムで、オープンソースで開発されています。MySQLデータベースサーバは、高速性と信頼性があり、Linux、UNIX、Windowsなどの複数のプラットフォームで動作することができます。

phpMyAdmin

phpMyAdminはオープンソースで、PHPで書かれたウェブベースのMySQL管理ツールのことです。

Python 3.x

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

Q&A

解決済

1回答

1262閲覧

Flask+MySQL(phpmyadmin)を実行したいがなぜか出来ない

oinari03

総合スコア59

Windows 10

Windows 10は、マイクロソフト社がリリースしたOSです。Modern UIを標準画面にした8.1から、10では再びデスクトップ主体に戻され、UIも変更されています。PCやスマホ、タブレットなど様々なデバイスに幅広く対応していることが特徴です。

Flask

FlaskはPython用のマイクロフレームワークであり、Werkzeug・Jinja 2・good intentionsをベースにしています。

MySQL

MySQL(マイエスキューエル)は、TCX DataKonsultAB社などが開発するRDBMS(リレーショナルデータベースの管理システム)です。世界で最も人気の高いシステムで、オープンソースで開発されています。MySQLデータベースサーバは、高速性と信頼性があり、Linux、UNIX、Windowsなどの複数のプラットフォームで動作することができます。

phpMyAdmin

phpMyAdminはオープンソースで、PHPで書かれたウェブベースのMySQL管理ツールのことです。

Python 3.x

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

0グッド

1クリップ

投稿2019/12/22 16:35

したいこと・出来ないこと

phpmyadminにあるplayersテーブルからデータをFlaskで使ってとってきて、template/view.htmlで表示したい。
が、なぜか、コマンドプロンプト上で、python ~.pyと実行しても動作しない。というか、エラーも出ずに、無反応。本来はアクセスするはずのパスを表示するはず!

phpmyadminのデータベース

実際のデータベース
イメージ説明

ここのplayersからトってきたい。

コード

hello.py

python

1from flask import Flask, render_template 2import pymysql 3app = Flask(__name__) 4 5def getConnection(): 6 return pymysql.connect( 7 host='localhost', 8 db='test_db', 9 user='root', 10 password='~', 11 charset='utf8', 12 cursorclass=pymysql.cursors.DictCursor 13 ) 14 15@app.route('/') 16def select_sql(): 17 connection = getConnection() 18 message = "Hello world" 19 20 sql = "SELECT * FROM players" 21 cursor = connection.cursor() 22 cursor.execute(sql) 23 players = cursor.fetchall() 24 25 cursor.close() 26 connection.close() 27 28 return render_template('view.html', message = message, players = players)

templates/view.html

html

1{% extends "layout.html" %} 2{% block content %} 3 <h1>Hello SQL</h1> 4 <p>{{ message }}</p> 5 6 {% for player in players %} 7 <p>{{ player }}</p> 8 {% endfor %} 9 10{% endblock %}

templates/layout.html

html

1<!DOCTYPE html> 2<html lang="en"> 3<head> 4 <meta charset="UTF-8"> 5 <meta name="viewport" content="width=device-width, initial-scale=1.0"> 6 <meta http-equiv="X-UA-Compatible" content="ie=edge"> 7 <title>SQL_test</title> 8 <style>body {padding: 10px;}</style> 9</head> 10<body> 11 {% block content %} 12 {% endblock } 13</body> 14</html>

解決したいこと

最終的に、コマンドプロンプトからhello.pyが実行出来れば目的クリアです。

これらのコードから、間違っているポイントなどを指摘していただけるとうれしいです。
phpmyadminは初めて触ったので、お手柔らかにお願いします。

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

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

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

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

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

guest

回答1

0

ベストアンサー

hello.pyに以下を追加してみては。

python

1if __name__ == "__main__": 2 app.run(debug=True)

投稿2019/12/22 17:37

hayataka2049

総合スコア30933

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

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

oinari03

2019/12/23 01:27

ありがとうございます!! デバッグもTRUEにできたおかげで、ミスも見つけられました!
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

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

ただいまの回答率
85.50%

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

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

質問する

関連した質問