[TIL 2022](8) Flask로 python web 개발하기
학습한 내용
- flask는 웹페이지를 찍어내는 공장
- flask 를 import 해서 web 페이지 제작
- 교통정리를 해주는 'route'
- route('name') name을 넣으면 해당 페이지로 이동할 수있게 해줌
- href에는 html 대신에 name을 입력하면됨
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 ...."}
]
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!')
@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 action="">
<p><input type="text" placeholder="title"></p>
<p><textarea placeholder="body"></textarea></p>
<p><input type="submit" value="create"></p>
</form>
'''
return template(content)
@app.route('/update/')
def update():
return 'Update'
app.run()
학습내용 중 어려웠던 점
- @app route 라는 것이 생소하고 어려웠다.
해결방법
- @app route에 대해 더 검색을 해보았다.
: route()는 데코레이터
: 웹어플리케이션 잘 구조화된 URL, 함수와 url을 연결해줌
@app.route(‘/’) def index():
return ‘Index Page’
→ index 페이지로 이동해 값을 리턴한다.
@app.route(‘/hello’) def hello():
return ‘Hello World’
→ hello 페이지로 이동해 'hello world'값을 리턴한다.
학습소감
- 파이썬을 통해 웹페이지를 만들 수있다는 것을 처음 알게 되었음
- html은 반복되는 코드를 계속해서 입력해야하는데, 파이썬을 활용하면 함수를 통해서 간단하게 할 수있어 편했다.
Author And Source
이 문제에 관하여([TIL 2022](8) Flask로 python web 개발하기), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다 https://velog.io/@dullgi/TIL-20228-Flask와-html저자 귀속: 원작자 정보가 원작자 URL에 포함되어 있으며 저작권은 원작자 소유입니다.
우수한 개발자 콘텐츠 발견에 전념 (Collection and Share based on the CC Protocol.)