Repl.it에서 폭속으로 Python3+Flask+SQLite3의 프로그램을 움직여 보았다
0. 처음에
저는 엔지니어가 아닌 단지 도실로트입니다.
Python3+Flask+SQLite3 환경을 쉽게 만들 수 있는 Repl.it이라는 온라인 IDE를 사용해 보았습니다.
Repl.it - The world's leading online coding platform
h tps : // 레 pl. t/
60개 이상의 프로그램 언어에 대응한 IDE인 것 같습니다.
무료로 사용할 수 있습니다. (비공개라면 유료)
1. 사용법
너무 간단해서 사용법을 애니메이션 GIF 정리했습니다.
단지 이것뿐입니다.
로그인하지 않아도 저장할 수 없는 것만으로 시도해 볼 수 있습니다.
2. 복사한 프로그램
매우 간단한 Flask를 이용한 프로그램입니다.
WEB 화면에서 다음을 할 수 있는 프로그램입니다.
main.py
from flask import Flask
import os
import sqlite3
import sys
app = Flask(__name__)
@app.route("/")
def index():
#return "Hello World!"
return '''
<h1>Flask SQLite3テスト</h1>
<a href="./readtasktb">タスク一覧</a><br>
<a href="./credb">DB生成</a><br>
<a href="./cretable">テーブル生成</a><br>
<a href="./deldb">DB削除</a><br>
'''
@app.route("/credb")
def credb():
kka = ""
db_filename = 'todo.db'
db_is_new = not os.path.exists(db_filename)
conn = sqlite3.connect(db_filename)
if db_is_new:
print('Database created!!')
kka = 'Database created!!'
else:
print('Database exists, assume schema does, too.')
kka = 'Database exists, assume schema does, too.'
conn.close()
return kka + "<br><br><a href=\"../\">back</a>"
@app.route("/deldb")
def deldb():
kka = ""
db_filename = 'todo.db'
try:
os.remove(db_filename)
kka = "Database deleted!!"
except Exception as e:
kka = "Database not deleted!! becouse of <br>"+str(e)
return kka + "<br><br><a href=\"../\">back</a>"
@app.route("/cretable")
def cretable():
kka = ""
db_filename = 'todo.db'
with sqlite3.connect(db_filename) as conn:
conn.executescript("""
create table project (
name text primary key,
description text,
deadline date
);
create table task (
id integer primary key autoincrement not null,
priority integer default 1,
details text,
status text,
deadline date,
completed_on date,
project text not null references project(name)
);
""")
print('Create schema')
kka = kka + 'Creating schema<br>'
conn.executescript("""
insert into project (name, description, deadline)
values ('pymotw', 'Python Module of the Week',
'2016-11-01');
insert into task (details, status, deadline, project)
values ('write about select', 'done', '2016-04-25',
'pymotw');
insert into task (details, status, deadline, project)
values ('write about random', 'waiting', '2016-08-22',
'pymotw');
insert into task (details, status, deadline, project)
values ('write about sqlite3', 'active', '2017-07-31',
'pymotw');
""")
print('Insert initial data')
kka = kka + '<br>Insert initial data<br>'
return kka + "<br><br><a href=\"../\">back</a>"
@app.route("/readtasktb")
def readtasktb():
kka = ""
db_filename = 'todo.db'
try:
with sqlite3.connect(db_filename) as conn:
cursor = conn.cursor()
cursor.execute("""
select id, priority, details, status, deadline from task
where project = 'pymotw'
""")
for row in cursor.fetchall():
task_id, priority, details, status, deadline = row
print('{:2d} [{:d}] {:<25} [{:<8}] ({})'.format(
task_id, priority, details, status, deadline))
kka = kka + '{:2d} [{:d}] {:<25} [{:<8}] ({})'.format(
task_id, priority, details, status, deadline) + '<br>'
except Exception as e:
kka = "Task table list not generated!! becouse of <br>"+str(e)
return "task tb read result<br><br>" + kka + "<br><br><a href=\"../\">back</a>"
if __name__ == "__main__":
app.run(debug=True, port='3000', host='0.0.0.0')
3. 결론
프로그램이 준비되어 있으면 30초에 Python3+Flask+SQLite3의 테스트를 할 수 있습니다.
꽤 편리하다고 생각합니다.
그 이상
Reference
이 문제에 관하여(Repl.it에서 폭속으로 Python3+Flask+SQLite3의 프로그램을 움직여 보았다), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다 https://qiita.com/basictomonokai/items/4db7d19b3134c7e7bb63텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념 (Collection and Share based on the CC Protocol.)