사내 관리자 페이지가 필요해졌다.
이미 있지만 프론트엔드 개발자 없이 만들 수 있는, 운영팀이 데이터를 직접 수정할 수 있어야하는 페이지가 필요해졌다.
예전에 Django 튜토리얼을 따라하다가 알게된 Django Admin이 딱! 생각났다.
회사에서는 Flask를 쓰기 때문에 Django Admin을 쓰진 못하지만 Flask에도 분명 따라 만든게 있을거라 생각했다.
역시 존재한다! Flask Admin!
https://flask-admin.readthedocs.io/en/latest/
도큐먼트에 기본적인 설치 부분이 없어서 믿어도 되는가 싶었지만, 괜찮다. Github 레포에 있으니까!
도큐먼트를 열심히 만들지 않았을뿐, 자기들 나름대로 활용할 수 있는 다양한 예시 코드들을 만들어놨다.
https://github.com/flask-admin/flask-admin
오늘은 맛보기로 설치, 테마 설정, 다양한 활용 예시를 보도록 하겠다.
설치
pip install flask-admin
기본 설정
from flask import Flask
from flask_admin import Admin
app = Flask(__name__)
# set optional bootswatch theme
app.config['FLASK_ADMIN_SWATCH'] = 'cerulean'
# set flask_admin
admin = Admin(app, name='microblog', template_mode='bootstrap3')
@app.route('/')
def hello_world():
return 'Hello World!'
if __name__ == '__main__':
app.run()
이렇게 간단히 입력만해주고 Flask를 실행해준 다음, http://127.0.0.1:5000/admin 들어가면 바로 확인 가능하다.
테마 변경
테마가 당연히 바꾸고 싶어질 것이다! 백엔드 개발자여도 이쁜거 좋아한다.
레포지토리 이 부분에 테마 목록을 확인할 수 있다. (이 부분에서 내가 프알못이란 티가 팍팍나는 것 같다)
아래 사이트에 들어가면 테마를 직접 눈으로 보고 선택할 수 있다.
app.config['FLASK_ADMIN_SWATCH'] = 'theme name'
마음에 드는 테마를 찾았다면 이 부분에 테마 이름만 넣어주면 된다.
다양한 활용 예시
Github 레포에 SQLAlchemy, Auth 등 다양한 활용 예시들이 있다.
https://github.com/flask-admin/flask-admin/tree/7fa26ab227868ff7512bb25c26a30fd7d69184bc/examples
나는 SQLAlchemy를 쓰기 때문에 예제 코드 그대로 따라해봤는데 잘됐다.
모델링만 해주면 Admin 페이지에서 CRUD 작업을 처리해준다.
Delete는 함부로 하면 안되기 때문에 DELETE 기능을 끄는 옵션도 있다.
SQLAlchemy 뿐만 아니라 다른 것도 해보고 실제로 활용도가 높을지 제안해봐야겠다!
'Python' 카테고리의 다른 글
Python과 함께 텔레그램 챗봇 만들기(3) (0) | 2019.04.01 |
---|---|
UnicodeEncodeError 해결하기 (0) | 2019.03.29 |
async, aiohttp로 Multipart 데이터 전송 방법 (0) | 2019.03.19 |
Python과 함께 텔레그램 챗봇 만들기(2) (0) | 2019.03.18 |
Python과 함께 텔레그램 챗봇 만들기(1) (0) | 2019.03.18 |