๐ ํ์ด์ฌ (Python)/-- ํ๋ผ์คํฌ (Flask)
-
*Flask - WTF ์ค์น pip install flask-WTF flask์ form์ ๊ด๋ฆฌํ ์ ์๋ ๊ธฐ๋ฅ ์ ๊ณต. CSRF( Cross-site request forgery) protect ์ ํจ์ฑ ๊ฒ์ฆ(validation) 1. csrf protect from flask_wtf.csrf import CSRFprotect if __name__ == "__main__": app.config['SECRET_KEY'] = 'wcsfeufhwiquehfdx' csrf = CSRFProtect() csrf.init_app(app) ์ํฌ๋ฆฟ ํค๋ฅผ ์ค์ ํด์ฃผ๊ณ , (์์๋ ์์๋ก ์ค์ ํ์ต๋๋ค.) csrf ๊ฐ์ฒด๋ฅผ ์์ฑํ๊ณ app์ํตํด ์ด๊ธฐํํ๋ฉด ๋ฉ๋๋ค. 2. form, Validators, StringField, Pass..
ํ๋ผ์คํฌ (Flask) - ํ์๊ฐ์ ๊ธฐ๋ฅ ๋ง๋ค๊ธฐ 2 (flask - WTF ์ด์ฉํ๊ธฐ)*Flask - WTF ์ค์น pip install flask-WTF flask์ form์ ๊ด๋ฆฌํ ์ ์๋ ๊ธฐ๋ฅ ์ ๊ณต. CSRF( Cross-site request forgery) protect ์ ํจ์ฑ ๊ฒ์ฆ(validation) 1. csrf protect from flask_wtf.csrf import CSRFprotect if __name__ == "__main__": app.config['SECRET_KEY'] = 'wcsfeufhwiquehfdx' csrf = CSRFProtect() csrf.init_app(app) ์ํฌ๋ฆฟ ํค๋ฅผ ์ค์ ํด์ฃผ๊ณ , (์์๋ ์์๋ก ์ค์ ํ์ต๋๋ค.) csrf ๊ฐ์ฒด๋ฅผ ์์ฑํ๊ณ app์ํตํด ์ด๊ธฐํํ๋ฉด ๋ฉ๋๋ค. 2. form, Validators, StringField, Pass..
2020.02.05 -
https://www.highcharts.com/
CSV ํ์ผ ์ฝ์ด๋ค์ฌ์ highcharts + Flask ๊ทธ๋ํ ๊ตฌํํ๊ธฐ.https://www.highcharts.com/
2019.11.16 -
Flask๋ฅผ ์ด์ฉํ์ฌ ๊ทธ๋ํ๋ฅผ ๊ทธ๋ ค๋ณด๋์ค์, ์๊ฐํ์๋ถ๋ถ์ด ๋๋ฌด ๊ธธ๊ณ ์ด์ํด์ ๋ญ๊ฐ ์ถ์์ต๋๋ค. ์ฒ์์ ๋จ์ ๋ ์ง ๋ฐ ์๊ฐํ์๋ผ์ ๋ง๋งํ๊ฒ ๋ณด๊ณ ๋ฌด์จ๊ท์น์ธ์ง ํผ์ ๊ณ ๋ฏผํ๋ค... Timestamp๋ผ๋ unix์์ ๋ง๋ ์๊ฐํ๊ธฐ๋ฒ์ด๋ผ๋ ๊ฒ์ ์์ ์ต๋๋ค..... ๋ฐ์ดํฐ๋ฒ ์ด์ค๋ฅผ ์ฌ์ฉํ ๋, ์๊ฐ์ ๋ํ๋ด๋ ๋ฐฉ๋ฒ์ค์ Timestamp๋ผ๋ ๋ฐฉ์์ด ์์ต๋๋ค. Date๋ ์ผ๋ฐ์ ์ธ ํ๊ธฐ๋ฒ์ด๊ณ , Timestamp๋ ์ด๋จ์์ ์ ๋ฐํ ํ๋ก์ธ์ค๋ฑ์ ๊ธฐ๋กํ ๋ ์ฌ์ฉํ๋ค๊ณ ํฉ๋๋ค. ์ฐจ์ด์ ์ ํ๋ฒ ๋ณด๋ฉด datetime์ 1000-01-01 00:00:00 ~ 9999-12-31 23:59:59 ๊น์ง ๊ฐ๋ฅ๋ฉฐ, timestamp๋ 1970-01-01 00:00:00 ~ 2038-01-19 03:14: ๊น์ง ๊ฐ๋ฅํฉ๋๋ค. ๋ฐ์ดํฐ ํ์ ์ da..
๋ฐ์ดํฐ ๋ฒ ์ด์ค ์๊ฐ ํ์๋ฐฉ๋ฒ - Timestamp (unix time)Flask๋ฅผ ์ด์ฉํ์ฌ ๊ทธ๋ํ๋ฅผ ๊ทธ๋ ค๋ณด๋์ค์, ์๊ฐํ์๋ถ๋ถ์ด ๋๋ฌด ๊ธธ๊ณ ์ด์ํด์ ๋ญ๊ฐ ์ถ์์ต๋๋ค. ์ฒ์์ ๋จ์ ๋ ์ง ๋ฐ ์๊ฐํ์๋ผ์ ๋ง๋งํ๊ฒ ๋ณด๊ณ ๋ฌด์จ๊ท์น์ธ์ง ํผ์ ๊ณ ๋ฏผํ๋ค... Timestamp๋ผ๋ unix์์ ๋ง๋ ์๊ฐํ๊ธฐ๋ฒ์ด๋ผ๋ ๊ฒ์ ์์ ์ต๋๋ค..... ๋ฐ์ดํฐ๋ฒ ์ด์ค๋ฅผ ์ฌ์ฉํ ๋, ์๊ฐ์ ๋ํ๋ด๋ ๋ฐฉ๋ฒ์ค์ Timestamp๋ผ๋ ๋ฐฉ์์ด ์์ต๋๋ค. Date๋ ์ผ๋ฐ์ ์ธ ํ๊ธฐ๋ฒ์ด๊ณ , Timestamp๋ ์ด๋จ์์ ์ ๋ฐํ ํ๋ก์ธ์ค๋ฑ์ ๊ธฐ๋กํ ๋ ์ฌ์ฉํ๋ค๊ณ ํฉ๋๋ค. ์ฐจ์ด์ ์ ํ๋ฒ ๋ณด๋ฉด datetime์ 1000-01-01 00:00:00 ~ 9999-12-31 23:59:59 ๊น์ง ๊ฐ๋ฅ๋ฉฐ, timestamp๋ 1970-01-01 00:00:00 ~ 2038-01-19 03:14: ๊น์ง ๊ฐ๋ฅํฉ๋๋ค. ๋ฐ์ดํฐ ํ์ ์ da..
2019.11.13 -
*Flask ํ์๊ฐ์ ๊ธฐ๋ฅ ๋ง๋ค๊ธฐ *๊ตฌ์กฐ (Structure) Flaskํด๋ โ โโโ templates (ํด๋) โ โโโ register.html โ โ โโโ app.py (์คํํ์ผ) โโโ db.sqlite (์ด๊ฑด ์๋์ผ๋ก ์์ฑ๋จ) โโโ models.py * app.py from flask import Flask, render_template, request, redirect #render_template์ผ๋ก htmlํ์ผ ๋ ๋๋ง from models import db import os from models import Fcuser app = Flask(__name__) @app.route('/') def hello(): return render_template("hello.html") #GET =..
ํ๋ผ์คํฌ (Flask) - ํ์๊ฐ์ ๊ธฐ๋ฅ ๋ง๋ค๊ธฐ (MVC ํจํด )*Flask ํ์๊ฐ์ ๊ธฐ๋ฅ ๋ง๋ค๊ธฐ *๊ตฌ์กฐ (Structure) Flaskํด๋ โ โโโ templates (ํด๋) โ โโโ register.html โ โ โโโ app.py (์คํํ์ผ) โโโ db.sqlite (์ด๊ฑด ์๋์ผ๋ก ์์ฑ๋จ) โโโ models.py * app.py from flask import Flask, render_template, request, redirect #render_template์ผ๋ก htmlํ์ผ ๋ ๋๋ง from models import db import os from models import Fcuser app = Flask(__name__) @app.route('/') def hello(): return render_template("hello.html") #GET =..
2019.11.06