from flask import Flask, request, redirect
-import는 다른 프로그램에서 데이터를 불러오는걸 의미
-애플리케이션은 생성 읽기 수정 삭제가 전부다.
-flask에서 app route('/?/')로 데이터를 요청, return 값으로 응답
-liTags라는 변수를 정의, 변수를 {liTags}에 넣는다.
-topics의 데이터를 topic이란 이름으로 꺼내서 li태그를 만들어서 기존의 liTags에다가 추가해서 목록으로 만든다.
@app.route('/create/')
def create():
content = '''
<form action="/create_process/" method="POST">
<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)
#template = 견본, 현판이라는 뜻
-template 함수 = 호출 당하는 부품 = 프레임워크
-서버로 데이터를 전송= form태그
-사용자 입력을 받는 여러가지 태그들, 행위 후 submit을 했을 때 action
-아무 처리하지 않으면 get방식으로 처리, method POST를 get값으로, 이러면 url이아닌 POST방법으로 데이터 전송
-post 방식으로 전송된 데이터를 받으려면 request 사용
-tile, body 값을 읽고, topics에 데이터 추가하기 위해 newtopics 만들고 데이터 설정
-새롭게 추가되는 id의 값을 nextId로 설정하고 값 4를 부여.(4번째니까)
-nextId에 +1을 해서 다음값을 준비
-append를 사용해 제일 끝에 원소를 추가
-nexId는 함수 밖에서 정의된 것이기 때문에 수정불가. global 사용해서 수정 가능케
-redirect를 통해 사용자를 f'/read/{nextId-1}/'으로 튕겨보내면서 생성한 글 보기 가능
@app.route('/create_process/', methods=['POST']) #get방식을 거부, post방식만 실행
def create_process():
global nextId
title = request.form['title']
body = request.form['body']
newTopic = {"id": nextId, "title": title, "body": body}
topics.append(newTopic)
nextId = nextId + 1
return redirect(f'/read/{nextId-1}/')
-생성된 글을 delete태그를 통해 삭제 가능
-delete 버튼을 생성, post 방식으로 지정
<li>
<form action="/delete/{id}/" method="POST">
<input type="submit" value="delete">
</form>
</li>
@app.route('/delete/<int:id>/', methods=['POST']) #get도 받을 수 있기 때문에 s 붙임
def delete(id):
for topic in topics:
if topic['id'] == id:
topics.remove(topic)
break;
return redirect('/')
-1970년대부터 시작된 데이터베이스
-수많은 웹시스템의 등장으로 데이터의 폭발적인 등장, 관리 필요 => 데이터베이스
-관계형, 계층형, 문서형...etc 데이터베이스 (주류는 관계형)
-지난 50년동안 단 한번도 패러다임의 강자 자리를 놓치지않은 관계형 테이터베이스
-정보 산업의 심장 = 데이터베이스
-최근엔 인공지능 쪽으로 시선이 몰려있으나 데이터베이스는 가장 본질적인 분야
-SQL = structured 구조화된 = 표 query language
-관계형데이터베이스 = 엑셀을 심화한 것 = 표
-제어할 때는 SQL문을 통해 명령어로 표를 제어할 수 있다
-topics.sqlite3 = topics라는 데이터베이스 생성