모듈
함수 코드를 .py 형태로 저장.
import 파일명
이름 바꾸기 : import 파일명 as 바꿀 파일명
dir : 모듈에 있는 모든 함수 이름 나열
CSV vs JSON vs TSV vs XML
csv -> 자료가 없으면 행 자체에 오류 범할 가능성이 있음. 다양한 형태 지원 x
xml, json -> csv 단점 보완 but 덩치를 크게함.
그래서 java script 언어를 이용한 json을 이용해 파씽 ??
findall -> 해당 값 모두 찾음
search ->
split -> 구분
sub -> 대체
span -> 시작과 끝 위치 반환
웹 개발 로드맵
플라스크 : 백작 (백) 진자 (프론트)
Flask
1. c드라이브 - dev - flaskintro폴더 생성 - satic폴더와 templates 폴더와 app.py 텍스트파일 만들기
2. atom에서 add project folder 에서 flaskintro 지정 후 코드 입력
from datetime import date, timedelta
from flask import Flask
app = Flask(__name__)
@app.route('/')
def index():
return 'Hello World!'
@app.route('/andong')
def abcd():
return 'Hello Andong National University!'
@app.route('/txt')
def read_txt():
f = open('static/test.txt','r', encoding='UTF8')
return "</br>".join(f.readlines())
@app.route('/today/') # /today 및 /today/로 접근 가능
def today():
return f'오늘은 {date.today()}입니다.'
def add7days():
return f'일주일 뒤는 {date.today() + timedelta(days=7)}입니다.'
app.add_url_rule('/7dayslater/', # rule : the URL rule as string
'', # endpoint : the endpoint for the registered URL rule. Flask itself assumes the name of the view function as endpoint
add7days) # view_func : the function to call when serving a request to the provided endpoint
if __name__ == '__main__':
app.run(debug=True)
3. termius 활성화 후 창에서 ctrl+c -> python app.py 입력
4. ip주소를 alt + c로 복사 후 인터넷에서 실행. 루트에 맞게 이름 변경
예제2
from flask import Flask, render_template, request, redirect, url_for
app = Flask(__name__)
@app.route('/')
def index():
return 'Hello World!'
@app.route('/login/')
def login():
return render_template('login.html')
@app.route('/success/<name>')
def success(name):
return 'welcome %s' % name
@app.route('/auth', methods=['POST', 'GET'])
def auth():
if request.method == 'POST':
user = request.form['nm']
return redirect(url_for('success', name=user))
else:
user = request.args.get('nm')
return redirect(url_for('success', name=user+' by Get'))
if __name__ == '__main__':
app.run(debug=True)
- ctrl + ` = 밑에 창 열었다 닫았다
예제 3 ) 로그인
app.py
from flask import Flask, render_template, request, redirect, url_for
app = Flask(__name__)
@app.route('/')
def index():
return 'Hello World!'
@app.route('/login/')
def login():
return render_template('login.html')
@app.route('/success/<name>')
def success(name):
return 'welcome %s' % name
@app.route('/auth', methods=['POST', 'GET'])
def auth():
if request.method == 'POST':
user = request.form['nm']
return redirect(url_for('success', name=user))
else:
user = request.args.get('nm')
return redirect(url_for('success', name=user+' by Get'))
if __name__ == '__main__':
app.run(debug=True)
login.html
<html>
<body>
<form action = "http://localhost:5000/auth" method = "post">
<p>Enter Name:</p>
<p><input type = "text" name = "nm" /></p>
<p><input type = "submit" value = "submit" /></p>
</form>
</body>
</html>
- 서버에 /login 입력
- 안바뀔때 ctrl + shift + r
- flask에서 if,for문 쓸때는 fif, ffor로 검색
예제 4
예제 4-1)
app.py
from flask import Flask
app = Flask(__name__)
@app.route('/')
def index():
return '<html><body><h1>Hello World</h1></body></html>'
if __name__ == '__main__':
app.run(debug=True)
- {%...%} if
- {{...}} 출력
- {#...#}
예제 4-2) hello
hello.html
<!doctype html>
<html>
<body>
<h1>Hello {{ name }}!</h1>
</body>
</html>
app.py
from flask import Flask, render_template
app = Flask(__name__)
@app.route('/')
def index():
return '<html><body><h1>Hello World</h1></body></html>'
@app.route('/hello/<user>')
def hello_name(user):
return render_template('hello.html', name = user)
if __name__ == '__main__':
app.run(debug=True)
예제 4-3) marks
marks.html
<!doctype html>
<html>
<body>
{% if marks > 50 %} # fife 엔터
<h1> 다음 단계로 이동할 수 있음 </h1>
{% else %}
<h1> 다음 단계로 이동할 수 없음 </h1>
{% endif %}
</body>
</html>
app.py
from flask import Flask, render_template
app = Flask(__name__)
@app.route('/')
def index():
return '<html><body><h1>Hello World</h1></body></html>'
@app.route('/hello/<user>')
def hello_name(user):
return render_template('hello.html', name = user)
@app.route('/marks/<int:score>')
def marks(score):
return render_template('marks.html', marks = score)
if __name__ == '__main__':
app.run(debug=True)
예제 4-4) result
result
<!doctype html>
<html>
<body>
<table border=1>
{% for key, value in result.items() %}
<tr>
<th> {{ key }} </th>
<td> {{ value }} </td>
</tr>
{% endfor %}
</table>
</body>
</html>
app.py
from flask import Flask, render_template
app = Flask(__name__)
@app.route('/')
def index():
return '<html><body><h1>Hello World</h1></body></html>'
@app.route('/result')
def result():
dict = {'phy': 50, 'che': 60, 'maths': 70}
return render_template('result.html', result=dict)
if __name__ == '__main__':
app.run(debug=True)
'인공지능 > PYTHON' 카테고리의 다른 글
크롤링 (2) (0) | 2021.06.23 |
---|---|
Flask 2 (0) | 2021.06.22 |
Python 300제 - 함수 (0) | 2021.06.18 |
Python - w3schools (0) | 2021.06.18 |
파이썬 300제 (2) 51~ (0) | 2021.06.17 |