03.30 Java 3
15550 ワード
1.学習内容
Flaskは、Webページを動的に印刷する工場です.
インストール方法pip install flask
基本フレームワークfrom flask import Flask
app = Flask(__name__)
@app.route("/")
def hello_world():
return "<p>Hello, World!</p>"
app.run()
商品
製品:製造元による作成
Web上でのFlashの使用
https://glitch.com/可愛いクラウドサービス
検索ウィンドウでフラスコを検索し、サンプルプログラムを表示できます.
これらの例は、フラスコが独自の環境に設定されている場合に符号化できます.
このようなウィンドウが表示され、
star.shはサーバです.pyの実行
server.pyはプログラムコードを作成するPythonファイルです.
start.shの基本Pythonバージョンは2.7.12
(端末にpython-versionコマンドを入力すると、バージョンチェックが出力されます)
主にpython 3をpython 3--versionコマンド3.7.12に置き換えます.
なぜこのサイトを使用しますか?
横にウィンドウを配置すると、次のPreviewボタンがリアルタイムで変更されます.
ベースの操作
ルーティング(route+ing):インターネットを介してソース位置から宛先まで
データ転送を許可する機能
ソウルを出発して釜山に行く時、多様なルートのうちの1つを選んで移動するとします.
静的配線と動的配線
静的:管理者が直接パス情報を指定する
動的:変更されたナイトク情報をルータ間で自動的に交換します.
アドレスの後に/read//create/update//delete/などを追加し、対応する関数にルーティングします.
デフォルトアドレス/ex)read:デフォルトアドレスに入ったときに表示されるページについて
デフォルトアドレス/ページ名/read:ページに入るときに表示されるページについて
基本ツール@app.route("/")
def index():
return "<h1>Home</h1>"
@app.route("/update/")
def read():
return "Read"
@app.route("/create/")
def create():
return "Create"
返すコードを動的に構成できます```코드``` 를 사용해서 줄바꿈을 용이하게 만듬
f「データを入れるためにf.f stringと書きました」
https://realpython.com/python-f-strings/
で行ないます.意味があるようです.def template(content):
liTags = ''
for topic in topics:
liTags = liTags + f'<li><a href="/read/{topic["id"]}/">{topic["title"]}</a></li>'
return f'''
<html>
<body>
<h1><a href="/">WEB</a></h1>
<ol>
{liTags}
</ol>
{content}
<ul>
<li><a href="/create/">create</a></li>
</ul>
</body>
</html>
'''
繰り返し記述されたコードは関数によって再利用率を向上させる.from flask import Flask
app = Flask(__name__)
#topic들(id, title, body)을 key로 하는 딕셔너리들을 리스트로 묶음
topics = [
{"id":1, "title":"html", "body":"html is ...."},
{"id":2, "title":"css", "body":"css is ...."},
{"id":3, "title":"js", "body":"js is ...."}
]
# def(파이썬에서의 함수)로 템플릿 함수를 저장및 재사용
def template(content):
liTags = ''
for topic in topics:
liTags = liTags + f'<li><a href="/read/{topic["id"]}/">{topic["title"]}</a></li>'
return f'''
<html>
<body>
<h1><a href="/">WEB</a></h1>
<ol>
{liTags}
</ol>
{content}
<ul>
<li><a href="/create/">create</a></li>
</ul>
</body>
</html>
'''
#메인 페이지에서 호출할 함수
@app.route("/")
def index():
return template('<h2>Welcome</h2>Hello, WEB!')
#template 함수의 매견변수로는 그 페이지의 내용을 반환
# 각 항목을 클릭하면 연결될 페이지를 작성한다.
# route의 매개변수에도 변수를 담을 수 있다.
# 이름은 임의로 설정해주면 되는데 type은 기본적으로 문자열로 들어오게 되므로,
# 숫자인 경우에는 <int:>로 정수 캐스팅이 필요하다.
@app.route("/read/<int:id>/")
def read(id):
title = ''
body = ''
for topic in topics :
if topic['id'] == id:
title = topic['title']
body = topic['body']
break; # 나와줘야함
return template(f'<h2>{title}</h2>{body}')
@app.route('/create/')
def create(): #경로를 만들기
content =
''' #form으로 묶어주기
<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)
対象、観測、ケースが同じなら(1件1件のデータで、リストに並べやすい)
特性(ディックマニュアルに入れやすい)
誤字があると思ったら読んで書いてください.
name値がサーバに送信される入力値
Reference
この問題について(03.30 Java 3), 我々は、より多くの情報をここで見つけました
https://velog.io/@jeabin1129/03.30-자바3
テキストは自由に共有またはコピーできます。ただし、このドキュメントの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()
@app.route("/")
def index():
return "<h1>Home</h1>"
@app.route("/update/")
def read():
return "Read"
@app.route("/create/")
def create():
return "Create"
```코드``` 를 사용해서 줄바꿈을 용이하게 만듬
def template(content):
liTags = ''
for topic in topics:
liTags = liTags + f'<li><a href="/read/{topic["id"]}/">{topic["title"]}</a></li>'
return f'''
<html>
<body>
<h1><a href="/">WEB</a></h1>
<ol>
{liTags}
</ol>
{content}
<ul>
<li><a href="/create/">create</a></li>
</ul>
</body>
</html>
'''
from flask import Flask
app = Flask(__name__)
#topic들(id, title, body)을 key로 하는 딕셔너리들을 리스트로 묶음
topics = [
{"id":1, "title":"html", "body":"html is ...."},
{"id":2, "title":"css", "body":"css is ...."},
{"id":3, "title":"js", "body":"js is ...."}
]
# def(파이썬에서의 함수)로 템플릿 함수를 저장및 재사용
def template(content):
liTags = ''
for topic in topics:
liTags = liTags + f'<li><a href="/read/{topic["id"]}/">{topic["title"]}</a></li>'
return f'''
<html>
<body>
<h1><a href="/">WEB</a></h1>
<ol>
{liTags}
</ol>
{content}
<ul>
<li><a href="/create/">create</a></li>
</ul>
</body>
</html>
'''
#메인 페이지에서 호출할 함수
@app.route("/")
def index():
return template('<h2>Welcome</h2>Hello, WEB!')
#template 함수의 매견변수로는 그 페이지의 내용을 반환
# 각 항목을 클릭하면 연결될 페이지를 작성한다.
# route의 매개변수에도 변수를 담을 수 있다.
# 이름은 임의로 설정해주면 되는데 type은 기본적으로 문자열로 들어오게 되므로,
# 숫자인 경우에는 <int:>로 정수 캐스팅이 필요하다.
@app.route("/read/<int:id>/")
def read(id):
title = ''
body = ''
for topic in topics :
if topic['id'] == id:
title = topic['title']
body = topic['body']
break; # 나와줘야함
return template(f'<h2>{title}</h2>{body}')
@app.route('/create/')
def create(): #경로를 만들기
content =
''' #form으로 묶어주기
<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)
Reference
この問題について(03.30 Java 3), 我々は、より多くの情報をここで見つけました https://velog.io/@jeabin1129/03.30-자바3テキストは自由に共有またはコピーできます。ただし、このドキュメントのURLは参考URLとして残しておいてください。
Collection and Share based on the CC Protocol