2022.3.30開発ログJavaScript


1.勉強の内容
フラスコの使用
from flask import Flask

app = Flask(__name__)

topics = [
  {"id":1, "title":"html", "body":"html is ...."},
  {"id":2, "title":"css", "body":"css is ...."},
  {"id":3, "title":"js", "body":"js is ...."}
]
# topics란 이름을 가진 배열 만들기 배열의 각각의 값은 id, title, body값을 가진다.

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>
  '''
# template란 함수 정의하기 parameter는 content 빈litag를 생성한후 반복문을 통해 topic의 title의 글씨에 topic의 id값에 해당하는 하이퍼링크를 누적입력
# "/"는 더 세부적인 주소없이 들어올때(홈페이지)를 말한다
# liTags ,content 출력 /create/주소로 링크된 create값 출력

@app.route("/")
def index():
  return template('<h2>Welcome</h2>Hello, WEB!')
# "/" 홈페이지로 접속시에 index라는 함수를 실행 template(content)를 return 
# 위의 template(content)함수의 content자리에 '<h2>Welcome</h2>Hello, WEB!'를 넣어서 실행   
  
@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}')
# ex) "/read/1/" 로 접속시에 read(1)이라는 함수 실행
# title과 body에 공백입력
# 반복문을 통해 topic의 id값과 입력한1이 같으면 topic의 title과 body를 입력
# 위의 template(content)함수의 content자리에 f'<h2>{title}</h2>{body}'를 넣어서 실행

@app.route('/create/')
def create():
  content = '''
    <form action="/content/">
      <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/"로 접속시에 create()함수 실행
# content에 text를 적을수있는 박스를 생성
# submit 타입의 버튼을 생성
# submit 시에 /content/주소로 이동

@app.route("/content/")
def content():
    return 'hi'

app.run()
実行結果


学習中の難点や未解決の問題
f'<h2>{title}</h2>{body}'
fのように、まだ理解していないコードがあります.ただ書いているコードです.
ソリューションの作成
検索して勉強します
学習の心得.
興味深いことに、重複するコードを関数に変え、parameterによっていくつかの値を修正し、簡単で修正しやすいようにします.