Flaskを使って今まで学習したこと

今まで学習したこと

2019/01/03

① FlaskをWSLにインストールする
② ディレクトリはflask(/)、templates、static、css、images、jsからなる。
③ Python Programの中で「app.route(‘/’)改行def index()」でデコレータ。
④ render_templateをimportすることでrender_template(‘demoxx.html’, name = ‘吉田’)をコーディングすることでnameパラメータによりhtmlファイルにデータを渡せる。
⑤ Python Programの先頭付近でapp = Flask(__name__)、最後にif __name__ == “__main__”改行、app.run(debug=True)を指定する。
⑥ demoxx.htmlの最後ででjsを呼び出せる。
⑦ js内のalertでdialogMSGを表示させられる。
⑧ requestのimportでwho = request.args.get(“who”)をコーディングすることによりADR領域に/?who=xxxxxxをタイプインすることで.pyにて受け取れる。
⑨ return “yyyy”で画面にyyyyを表示できる。return whoでwhoの内容が表示される。
⑩ htmlの中で{% if name %}のように書くことで制御文が構成できる。{% else %}等。
⑪ ADR領域にパラメータが複数ある時には&をデリミターにすることができる。
⑫ url_for、redirectを使ってreturn redirect(url_for(“func”))とコーディングすることにより(‘/’)で入ってきてもfuncにリダイレクトできる。
⑬ html= “””と“”“ return htmlでPythonプログラムの中にhtmlファイルを含めることができる。
⑭ formの中にtype=”text”とすると入力がテキスト形式、passwordとすると入力が伏字になって「・・・」のようになって画面には表示されない。placeholder=”名前”のようにすると入力マスに薄い字で「名前」と表示される。
⑮ Python Programの中でcheckxx.htmlを呼びmy_email = request.form[“emel”]としreturn render_template(‘indexxx.html’,age=my_age…,eml=my_email,…)とすればデータの入力および結果の表示ができる。
⑯ 二次元ディクショナリのコーディングはif user_data[i][“pass”] == passwdのようにする。[i]のiはループカウントになる。
⑰ session管理はdemo29.py(demo28.py)のようにすればよい。

以上

↑人気ブログランキングに参加しています。よろしければ1票を!

年齢チェックのプログラム

インデントができないので我慢してほしい。これで画像の処理が行われている。

年齢チェックのプログラム

インデントができないので我慢してほしい。
これで画像の処理が行われている。
loginの完成形が下記のリンク先でupした参照してほしい。
neverjpのぶらり日記
 

#demo23.py
#!/usr/bin/python3
# -*- coding: utf-8 -*-

from flask import Flask, redirect ,request,render_template

app = Flask(__name__)

@app.route(“/check”)
def check():
・・return render_template(‘check23.html’)

@app.route(‘/’,methods=[‘POST’])
def index():
・・my_age = int(request.form[“age”])
・・my_name = request.form[“name”]
・・return render_template(‘index23.html’,age=my_age,name=my_name)

if __name__ == ‘__main__’:
・・app.run(debug=True)
****************************************
<!DOCTYPE html> <!– index23.html –>
<html lang=”ja”>
・・<head>
・・・・<meta charset=”UTF-8″>
・・・・<title>20禁のサイト</title>
<!– <link rel=”stylesheet” type=”text/css” href=”style.css” /> –>
・・・・<link rel=”stylesheet” type=”text/css” href=”static/css/style-05.css” />
・・・・<!–&#91;if lt IE 9&#93;>
・・・・<script src=”http://html5shiv.googlecode.com/svn/trunk/html5.js”></script>
<!&#91;endif&#93;–>
・・</head>
・・<body>
<h2>Barry Manilow international funclubの資格審査</h2>
・・{% if age >= 20 %}
・・・・Barry命の{{name}}さんは20歳以上なんですね。</br>
・・・・資格審査 pass
・・{% else %}
・・{{name}}さんみたいな未成人はこんなサイト見ちゃダメですよ?
・・{% endif %}

・・</body>
</html>
****************************************
<!DOCTYPE html><!– check23.html –>
<html lang=”ja”>
<head>
・・<meta charset=”UTF-8″>
・・<title>年齢確認</title>
<!– <link rel=”stylesheet” type=”text/css” href=”{{url_for(‘static’, filename=’style.css’)}}” /> –>
・・<link rel=”stylesheet” type=”text/css” href=”static/css/style.css” />
</head>
<body>

・・<form action=”/” method=”post”>
・・・・<h1>Entry</h1>
・・・・<input type=”text” name=”name” placeholder=”名前” required/>
・・・・<input type=”number” name=”age” placeholder=”年齢” required/>
・・・・<button>年齢確認</button>
・・</form>

</body>
</html>
****************************************
@charset ‘utf-8’; /* <style-05.css> */
body {
・・・・background: plum;
・・・・color: firebrick;
・・・・margin-left: 2m;
・・・・margin-right: 2m;
}
****************************************
@charset ‘utf-8’; /* <style.css> */
body {
・・・・background: sandybrown;
・・・・color: darkgreen;
・・・・margin-left: 2m;
・・・・margin-right: 2m;
}
****************************************

データを入力しているところ

20歳以上の場合

20歳未満の入力

20歳未満の表示

↑人気ブログランキングに参加しています。よろしければ1票を!

loginをFlask下で作ってみた

ワークエリアに代入しないで2次元ディクショナリを直接参照できれば良いのだが!→解決、後日修正してここに掲載する予定である。2018/12/17完成。

loginをFlask下で作ってみた

loginの完成形が下記のリンク先でupした参照してほしい。
neverjpのぶらり日記

loginをFlask下で作ってみた。Qiitaに載っていた問題を自分なりに作ってみた。
2次元ディクショナリをPythonプログラムの中に作りidとpasswordをADRに入力しid,passwordとも一致したら画面に「success」と表示する。失敗したら「fail」と表示する。
2次元ディクショナリのキーワードの参照の仕方がわからなかったので一度ワークエリアに代入した。
問題は2番目の要素以外に「success」が表示されないで「fail」になってしまうことだ。
ワークエリアに代入しないで2次元ディクショナリを直接参照できれば良いのだが!後日修正してここに掲載する予定である。
「work_data」の代わりに「user_data[i][“id”]」にしたが結果は同じであった。結果は表示しない。
※ programの初歩的ミスで済みません。完成しました。
過去にも一度画面にCSSの属性が表示されるとそれ以降CSSを変えても元のままになってしまう現象があった。
「http://localhost:5000/login?id=hoge&pass=foo」と入力するわけである。
課題では「url_for」も使ってみよとあったが「demo18.py」にてやってみたがまだうまくいっていない。

↑人気ブログランキングに参加しています。よろしければ1票を!

昨日のデモで使ったソースデータ

WordPressの都合上インデントは無視します。代わりに「neverjpのぶらり日記」(2018/12/6付け)を参照してください。

============================
demo01.html(/flask/templates
============================
<!DOCTYPE html>
<html lang=”ja”>
<head>
<meta charset=”UTF-8″>
<link rel=”stylesheet” href=”/static/css/demo01.css”>
<title>Deep Learning first TEST</title>
</head>
<body>
<title>Hello from Flask</title>
{% if name %}
<h1>{{ name }}さん!テンプレートからのHello Worldだよ!</h1>
{% else %}
<h1>テンプレートからのHello Worldだよ!</h1>
{% endif %}

<p>
<img src=”/static/images/0umi1.jpg” alt=”pic01″>
</p>

<script src=”/static/js/main.js”></script>
</body>
</html>
======================
demo01.py(/flask)
======================
from flask import Flask, render_template
app = Flask(__name__)

@app.route(‘/’)
def demo01():
html = render_template(‘demo01.html’, name = ‘児島’)
return html

#デバッグモードで走らせる
if __name__ == “__main__”:
app.run(debug=True)
============================
demo01.css(/flask/static/css
============================
.demo01 {
color: #f00;
}
=========================
main.js(/flask/static/js)
=========================
(function(){
‘use strict’;

alert(‘アラートだよ〜。’);

})();
==============================
挿入写真(/flask/static/images)
==============================
<img src=”/static/images/0umi1.jpg” alt=”pic01″>