[Python 03] Flask
Flashの起動
Flashは、Webページを動的に印刷する工場です.pip install flask
上記コマンドでフラスコを設定します.
次に、Flaskクイックスタートマニュアルを参照して、Pythonファイルで次のコマンドを作成して実行します.from flask import Flask
app = Flask(__name__)
@app.route("/")
def hello_world():
return "<p>Hello, World!</p>"
app.run()
サーバーが上昇していることを確認できます.
127.0.0.1:5000にログインすると、Webページが表示されます.
GlitchサービスからFlashを起動
Glitchサービスを利用してサーバーをレンタルすることもできます.
ログイン後、右上に黄色で表示されている検索ウィンドウでflaskを検索します.
フラスコ作成のサンプルプログラムをアップロードできます.選択してスキップし、
フラスコ選択時
こうしてテンプレート番組が登場した.右下のRemix yourボタンはforkできます.これにより、デフォルトのフラスコが設定されているサーバでエンコードし、結果画面をリアルタイムで表示できます.
独自のボタンを再結合します.
左側のファイルリストから
start.shスクリプトファイルサーバを使用します.py、サーバを実行します.pyは、対応するプログラムコードを記述するPythonファイルです.でもstartshの内容を見るとpython serverが表示されます.pyコマンドで実行します.この場合、Python 2バージョンで動作するため、Python 3を使用する場合はpython 3 serverを使用できます.pyに変更すればいいです.
Pythonバージョンチェックは、次のターミナルウィンドウを開き、python-versionを使用してチェックできます.
変更されたstart.sh
サーバーもあります.pyを任意に変更して結果画面を表示できます.結果画面は、次のPreviewボタンを使用してウィンドウを開くことができます.
Open previewペインは右側に分割ペインとして表示され、Preview in a new windowは新しいウィンドウに表示される違いがあります.
Flashの使用方法
アドレスの後に/read/create/update/deleteを追加し、対応する関数にルーティングします.
「/」は、デフォルトのアドレスを入力し、入力時に表示するページです.
「/page name/」は、アドレスの後ろに/page name/を入力し、入力時に表示するページに記入して戻ります.@app.route("/")
def index():
return "<strong>Home</strong>"
@app.route("/create/")
def create():
return "Create"
@app.route("/update/")
def update():
return "Update"
returnにアクセスするコードを動的に構成できるようになりました.
ただし、HTMLコードは1行に書くのは難しいので、Pythonで改行をサポートする3つの一重引用符を使ってHTMLを書くように書くことができます.ただし、python変数を記述する場合は、以下のようにf式を使用することもできます.return f'''
<코드>
<코드>
<코드 계속>
<코드 끝>
'''
これにより、重複するコードを変数に含めたり、関数で実現したりすると、コードの再利用性が向上します.
では、これまで学んだPythonのList、Dictionaryを使って、条件文と重複文を利用して、コードを再利用するページを実現してみましょう.from flask import Flask
app = Flask(__name__)
# topics List에 id, title, body를 key로 하는 Dictionary를 저장한다.
topics = [{'id':1, 'title':'HTML', 'body':'HTML is...'},
{'id':2, 'title':'CSS', 'body':'CSS is...'},
{'id':3, 'title':'JavaScript', 'body':'JavaScript is...'}]
# 출력 템플릿 함수를 저장해놓고 재사용한다.
def template(content):
liTags = ''
# List의 각 토픽의 제목을 <li>로 웹에 출력하기 위해 liTags 변수에 문자열로 저장한다.
for topic in topics:
liTags += f'<li><a href="/read/{topic["id"]}/">{topic["title"]}</a></li>'
# liTags 변수를 포함하여 html을 작성하여 반환한다.
return f'''
<html>
<head>
</head>
<body>
<h1><a href="/">WEB</a></h1>
<ol>
{liTags}
</ol>
{content}
</body>
</html>
'''
# 첫 페이지에서 호출할 함수
@app.route("/")
def index():
# template 함수의 매개변수로는 웹 페이지 내용을 반환해준다. 첫 화면은 웰컴.
return template("<h2>Welcome</h2>Hello Web!")
# 각 항목을 클릭하면 연결될 페이지를 작성한다.
# route의 매개변수에도 변수를 담을 수 있다.
# 이름은 임의로 설정해주면 되는데 type은 기본적으로 문자열로 들어오게 되므로,
# 숫자인 경우에는 <int:>로 정수 캐스팅이 필요하다.
@app.route("/read/<int:num>/")
def read(num):
for topic in topics:
if(topic["id"] == num):
content = f'<h2>{topic["title"]}</h2>{topic["body"]}'
# template 함수의 매개변수로 위에서 작성한 웹 페이지 내용을 반환해준다.
return template(content)
app.run()
ホームページが上手です.
Challenge
動的組織のWebページからフォーム・ラベルへの入力値の移動
@app.route("/create/")
def create():
content = '''
<h2>Create</h2>let\'s create something!<br>
<form action="/create/">
<p><input type="text" name="title" placeholder="title"></p>
<p><textarea name="body" placeholder="body"></textarea></p>
<p><input type="submit" value="create"></p>
</form>
'''
return template(content)
create pageを呼び出すリンクを作成し、上記の内容を記述します.
formタグで値を受信するのは次のレッスンです.
入力ウィンドウはよく整理されており、この値を入力してスキップします.
入力した値がよく超えていることがわかります.
? Question
Pythonは改行やインデントを文法として使うので、条件文や重複文が重なると混同しやすく、不便です.
! Answer for topic in topics:
liTags 처리 구문
return liTags
このコードfor topic in topics:
liTags 처리 구문
return liTags
このコードは違います.
戻りコードのインデント位置によってはfor文で認識される場合がありますので、注意して使用してください.
Comment
Flaskという新しいことを学び、Glitchというかわいいサービスも使えるようになり、いろいろな面で楽しい時間でした.データベースと一緒にまともなサイトを作りたいです.
Reference
この問題について([Python 03] Flask), 我々は、より多くの情報をここで見つけました
https://velog.io/@boracious/Python-03-Flask
テキストは自由に共有またはコピーできます。ただし、このドキュメントのURLは参考URLとして残しておいてください。
Collection and Share based on the CC Protocol
pip install flask
from flask import Flask
app = Flask(__name__)
@app.route("/")
def hello_world():
return "<p>Hello, World!</p>"
app.run()
Glitchサービスを利用してサーバーをレンタルすることもできます.
ログイン後、右上に黄色で表示されている検索ウィンドウでflaskを検索します.
フラスコ作成のサンプルプログラムをアップロードできます.選択してスキップし、
フラスコ選択時
こうしてテンプレート番組が登場した.右下のRemix yourボタンはforkできます.これにより、デフォルトのフラスコが設定されているサーバでエンコードし、結果画面をリアルタイムで表示できます.
独自のボタンを再結合します.
左側のファイルリストから
start.shスクリプトファイルサーバを使用します.py、サーバを実行します.pyは、対応するプログラムコードを記述するPythonファイルです.でもstartshの内容を見るとpython serverが表示されます.pyコマンドで実行します.この場合、Python 2バージョンで動作するため、Python 3を使用する場合はpython 3 serverを使用できます.pyに変更すればいいです.
Pythonバージョンチェックは、次のターミナルウィンドウを開き、python-versionを使用してチェックできます.
変更されたstart.sh
サーバーもあります.pyを任意に変更して結果画面を表示できます.結果画面は、次のPreviewボタンを使用してウィンドウを開くことができます.
Open previewペインは右側に分割ペインとして表示され、Preview in a new windowは新しいウィンドウに表示される違いがあります.
Flashの使用方法
アドレスの後に/read/create/update/deleteを追加し、対応する関数にルーティングします.
「/」は、デフォルトのアドレスを入力し、入力時に表示するページです.
「/page name/」は、アドレスの後ろに/page name/を入力し、入力時に表示するページに記入して戻ります.@app.route("/")
def index():
return "<strong>Home</strong>"
@app.route("/create/")
def create():
return "Create"
@app.route("/update/")
def update():
return "Update"
returnにアクセスするコードを動的に構成できるようになりました.
ただし、HTMLコードは1行に書くのは難しいので、Pythonで改行をサポートする3つの一重引用符を使ってHTMLを書くように書くことができます.ただし、python変数を記述する場合は、以下のようにf式を使用することもできます.return f'''
<코드>
<코드>
<코드 계속>
<코드 끝>
'''
これにより、重複するコードを変数に含めたり、関数で実現したりすると、コードの再利用性が向上します.
では、これまで学んだPythonのList、Dictionaryを使って、条件文と重複文を利用して、コードを再利用するページを実現してみましょう.from flask import Flask
app = Flask(__name__)
# topics List에 id, title, body를 key로 하는 Dictionary를 저장한다.
topics = [{'id':1, 'title':'HTML', 'body':'HTML is...'},
{'id':2, 'title':'CSS', 'body':'CSS is...'},
{'id':3, 'title':'JavaScript', 'body':'JavaScript is...'}]
# 출력 템플릿 함수를 저장해놓고 재사용한다.
def template(content):
liTags = ''
# List의 각 토픽의 제목을 <li>로 웹에 출력하기 위해 liTags 변수에 문자열로 저장한다.
for topic in topics:
liTags += f'<li><a href="/read/{topic["id"]}/">{topic["title"]}</a></li>'
# liTags 변수를 포함하여 html을 작성하여 반환한다.
return f'''
<html>
<head>
</head>
<body>
<h1><a href="/">WEB</a></h1>
<ol>
{liTags}
</ol>
{content}
</body>
</html>
'''
# 첫 페이지에서 호출할 함수
@app.route("/")
def index():
# template 함수의 매개변수로는 웹 페이지 내용을 반환해준다. 첫 화면은 웰컴.
return template("<h2>Welcome</h2>Hello Web!")
# 각 항목을 클릭하면 연결될 페이지를 작성한다.
# route의 매개변수에도 변수를 담을 수 있다.
# 이름은 임의로 설정해주면 되는데 type은 기본적으로 문자열로 들어오게 되므로,
# 숫자인 경우에는 <int:>로 정수 캐스팅이 필요하다.
@app.route("/read/<int:num>/")
def read(num):
for topic in topics:
if(topic["id"] == num):
content = f'<h2>{topic["title"]}</h2>{topic["body"]}'
# template 함수의 매개변수로 위에서 작성한 웹 페이지 내용을 반환해준다.
return template(content)
app.run()
ホームページが上手です.
Challenge
動的組織のWebページからフォーム・ラベルへの入力値の移動
@app.route("/create/")
def create():
content = '''
<h2>Create</h2>let\'s create something!<br>
<form action="/create/">
<p><input type="text" name="title" placeholder="title"></p>
<p><textarea name="body" placeholder="body"></textarea></p>
<p><input type="submit" value="create"></p>
</form>
'''
return template(content)
create pageを呼び出すリンクを作成し、上記の内容を記述します.
formタグで値を受信するのは次のレッスンです.
入力ウィンドウはよく整理されており、この値を入力してスキップします.
入力した値がよく超えていることがわかります.
? Question
Pythonは改行やインデントを文法として使うので、条件文や重複文が重なると混同しやすく、不便です.
! Answer for topic in topics:
liTags 처리 구문
return liTags
このコードfor topic in topics:
liTags 처리 구문
return liTags
このコードは違います.
戻りコードのインデント位置によってはfor文で認識される場合がありますので、注意して使用してください.
Comment
Flaskという新しいことを学び、Glitchというかわいいサービスも使えるようになり、いろいろな面で楽しい時間でした.データベースと一緒にまともなサイトを作りたいです.
Reference
この問題について([Python 03] Flask), 我々は、より多くの情報をここで見つけました
https://velog.io/@boracious/Python-03-Flask
テキストは自由に共有またはコピーできます。ただし、このドキュメントのURLは参考URLとして残しておいてください。
Collection and Share based on the CC Protocol
@app.route("/")
def index():
return "<strong>Home</strong>"
@app.route("/create/")
def create():
return "Create"
@app.route("/update/")
def update():
return "Update"
return f'''
<코드>
<코드>
<코드 계속>
<코드 끝>
'''
from flask import Flask
app = Flask(__name__)
# topics List에 id, title, body를 key로 하는 Dictionary를 저장한다.
topics = [{'id':1, 'title':'HTML', 'body':'HTML is...'},
{'id':2, 'title':'CSS', 'body':'CSS is...'},
{'id':3, 'title':'JavaScript', 'body':'JavaScript is...'}]
# 출력 템플릿 함수를 저장해놓고 재사용한다.
def template(content):
liTags = ''
# List의 각 토픽의 제목을 <li>로 웹에 출력하기 위해 liTags 변수에 문자열로 저장한다.
for topic in topics:
liTags += f'<li><a href="/read/{topic["id"]}/">{topic["title"]}</a></li>'
# liTags 변수를 포함하여 html을 작성하여 반환한다.
return f'''
<html>
<head>
</head>
<body>
<h1><a href="/">WEB</a></h1>
<ol>
{liTags}
</ol>
{content}
</body>
</html>
'''
# 첫 페이지에서 호출할 함수
@app.route("/")
def index():
# template 함수의 매개변수로는 웹 페이지 내용을 반환해준다. 첫 화면은 웰컴.
return template("<h2>Welcome</h2>Hello Web!")
# 각 항목을 클릭하면 연결될 페이지를 작성한다.
# route의 매개변수에도 변수를 담을 수 있다.
# 이름은 임의로 설정해주면 되는데 type은 기본적으로 문자열로 들어오게 되므로,
# 숫자인 경우에는 <int:>로 정수 캐스팅이 필요하다.
@app.route("/read/<int:num>/")
def read(num):
for topic in topics:
if(topic["id"] == num):
content = f'<h2>{topic["title"]}</h2>{topic["body"]}'
# template 함수의 매개변수로 위에서 작성한 웹 페이지 내용을 반환해준다.
return template(content)
app.run()
動的組織のWebページからフォーム・ラベルへの入力値の移動
@app.route("/create/")
def create():
content = '''
<h2>Create</h2>let\'s create something!<br>
<form action="/create/">
<p><input type="text" name="title" placeholder="title"></p>
<p><textarea name="body" placeholder="body"></textarea></p>
<p><input type="submit" value="create"></p>
</form>
'''
return template(content)
create pageを呼び出すリンクを作成し、上記の内容を記述します.formタグで値を受信するのは次のレッスンです.
入力ウィンドウはよく整理されており、この値を入力してスキップします.
入力した値がよく超えていることがわかります.
? Question
Pythonは改行やインデントを文法として使うので、条件文や重複文が重なると混同しやすく、不便です.
! Answer for topic in topics:
liTags 처리 구문
return liTags
このコードfor topic in topics:
liTags 처리 구문
return liTags
このコードは違います.
戻りコードのインデント位置によってはfor文で認識される場合がありますので、注意して使用してください.
Comment
Flaskという新しいことを学び、Glitchというかわいいサービスも使えるようになり、いろいろな面で楽しい時間でした.データベースと一緒にまともなサイトを作りたいです.
Reference
この問題について([Python 03] Flask), 我々は、より多くの情報をここで見つけました
https://velog.io/@boracious/Python-03-Flask
テキストは自由に共有またはコピーできます。ただし、このドキュメントのURLは参考URLとして残しておいてください。
Collection and Share based on the CC Protocol
for topic in topics:
liTags 처리 구문
return liTags
このコードfor topic in topics:
liTags 처리 구문
return liTags
このコードは違います.戻りコードのインデント位置によってはfor文で認識される場合がありますので、注意して使用してください.
Comment
Flaskという新しいことを学び、Glitchというかわいいサービスも使えるようになり、いろいろな面で楽しい時間でした.データベースと一緒にまともなサイトを作りたいです.
Reference
この問題について([Python 03] Flask), 我々は、より多くの情報をここで見つけました
https://velog.io/@boracious/Python-03-Flask
テキストは自由に共有またはコピーできます。ただし、このドキュメントのURLは参考URLとして残しておいてください。
Collection and Share based on the CC Protocol
Reference
この問題について([Python 03] Flask), 我々は、より多くの情報をここで見つけました https://velog.io/@boracious/Python-03-Flaskテキストは自由に共有またはコピーできます。ただし、このドキュメントのURLは参考URLとして残しておいてください。
Collection and Share based on the CC Protocol