본문 바로가기

REFLEX 튜토리얼33

투두리스트에서 특정 업무를 수정해보자. #Update # 끝! reflex.dev가 업데이트됨에 따라, 더 간편하고 쉬운 방법으로 구축할 수 있게 되었습니다.최신버전의 튜토리얼은 아래 위키독스 링크를 방문해 주시기 바랍니다.https://wikidocs.net/book/16592 [파이썬] html이 뭔지도 모르지만 홈페이지는 만들어보고 싶어!Reflex(구 Pynecone)은 파이썬으로만 웹 애플리케이션을 개발할 수 있는 오픈소스 풀스택 웹 프레임워크입니다. 이 프레임워크는 파이썬 개발자가 웹개발에 대한 경험이 전혀…wikidocs.net 지난 시간까지 CRUD 중 CRD를 완료했다.이번 포스팅에서는 Update를 구현해볼 차례이다.우리가 비록 리플렉스 문법은 다소 생소할지언정,파이썬의 간단한 문법인, 리스트 메서드나 enumerate만 가지고도투두리스트의 기본로.. 2023. 10. 12.
투두리스트에서 완료한 업무를 제거해보자. # Delete[2/2] reflex.dev가 업데이트됨에 따라,더 간편하고 쉬운 방법으로 구축할 수 있게 되었습니다.최신버전의 튜토리얼은 아래 위키독스 링크를 방문해 주시기 바랍니다.https://wikidocs.net/book/16592지난 포스팅에서는 특정 할일의 정확한 삭제(pop)를 위해 State에서 enumerate를 통해 enum_list: list[tuple[int, str]] 라는 변수를 추가로 만들었다.(이 안에 index번호가 있는 덕분에, 정확하게 순서(인덱스)를 명시하여 특정 요소를 삭제할 수 있게 됐다.)그래서 이번 포스팅에서는페이지함수인 index를 완성해보기로 한다.기존에 만든, "할 일 추가"만 가능한 페이지 함수 index는 아래와 같다.def index(): return rx.contai.. 2023. 10. 12.
wsl에서 일반사용자로 mysql 실행시 Access Denied가 계속 뜬다? 데스크톱, 노트북 등 현재 사용중인 PC가 다섯 대 정도 있어서 여러 운영체제 조건하에서 코딩이나 테스트를 해 볼 수 있다. 재미있는 것은, 특정 PC의 wsl 환경에서만 데이터베이스 접속이 안되었는데, (정확히는 일반사용자로 mysql -u root -p 명령어로도 Access Denied가 뜨고, sudo mysql은 즉시 실행되는 문제가 있었다.) "설정파일을 만져보라", "재설치해보라" 등등 여러 가지 솔루션이 있었지만 차례대로 모두 실행해봐도 "Access Denied"가 해결되지 않다가 아래 링크를 통해 일반사용자 계정을 생성하고 previlege 설정을 주었더니 말끔히 해결되었다. 아직도 신기한 것은, 왜 다른 모든 컴퓨터에서는 mysql이 잘 돌고 있는데 주력으로 쓰고 있는 윈도우11 노트.. 2023. 10. 10.
rx에서 유튜브 allowFullScreen 활성화하는 방법 아래 방법은 전체화면 아이콘이 활성화되지 않는다. (잘못된 방법) import reflex as rx class State(rx.State): pass def index() -> rx.Component: return rx.box( element="iframe", src="https://www.youtube.com/embed/9bZkp7q19f0", allowFullScreen=True) # rx.Component: return rx.box( element="iframe", src="https://www.youtube.com/embed/9bZkp7q19f0", custom_attrs=dict(allowFullScreen=True)) # 2023. 10. 9.
[reflex팁] rx.input을 효과적으로 다루는 방법 reflex는 pynecone 시절부터 지금까지 (react나 js를 다루지 않고) input을 편하게 사용할 수 있는 실험적인 기능을 제공해 왔다. 그 과정에서 불필요한 몇 가지 코드가 개선되었는데, 2023년 10월 현재는 (공식문서에는 아직 올라오지 않았지만) rx.form과 rx.set_value를 사용하는 방법이 가장 효과적인 방법으로 보인다. 개인적으로 reflex에서 set_value를 제공해 주기 전까지는 뭔가 미묘하게 걸리적거리는 문제들이 있어 고민을 많이 했는데 이제 rx.input이나 rx.form은 어느 정도 리플렉스의 철학대로 최적화가 되었다고 생각한다. 이번엔 reflex의 rx.input 컴포넌트 변천사(?)를 간단히 알아보는 포스팅을 작성해 두려고 한다. (엄밀히는 시간적인 .. 2023. 10. 5.
투두리스트에서 완료한 업무를 제거해보자. # Delete[1/2] reflex.dev가 업데이트됨에 따라,더 간편하고 쉬운 방법으로 구축할 수 있게 되었습니다.최신버전의 튜토리얼은 아래 위키독스 링크를 방문해 주시기 바랍니다.https://wikidocs.net/book/16592 [파이썬] html이 뭔지도 모르지만 홈페이지는 만들어보고 싶어!Reflex(구 Pynecone)은 파이썬으로만 웹 애플리케이션을 개발할 수 있는 오픈소스 풀스택 웹 프레임워크입니다. 이 프레임워크는 파이썬 개발자가 웹개발에 대한 경험이 전혀…wikidocs.net 지난 포스팅에서 투두리스트 앱의 CRUD 중 Create와 Read를 구현해보았다.리플렉스 컴포넌트 사용법이 다소 생소할 수는 있지만,실제로 로직 자체는 굉장히 간단한 파이썬 문법만 사용했다.append를 통해 할 일을 추가할 수.. 2023. 10. 3.
투두리스트에 할 일을 추가해보자. #Create reflex.dev가 업데이트됨에 따라,더 간편하고 쉬운 방법으로 구축할 수 있게 되었습니다.최신버전의 튜토리얼은 아래 위키독스 링크를 방문해 주시기 바랍니다.https://wikidocs.net/book/16592 [파이썬] html이 뭔지도 모르지만 홈페이지는 만들어보고 싶어!Reflex(구 Pynecone)은 파이썬으로만 웹 애플리케이션을 개발할 수 있는 오픈소스 풀스택 웹 프레임워크입니다. 이 프레임워크는 파이썬 개발자가 웹개발에 대한 경험이 전혀…wikidocs.net공식문서의 투두리스트 앱은 로직의 간단함에 비해 다소 구현이 복잡하게 되어 있다.이 포스팅 시리즈에서는 최소의 코드로 투두리스트를 만들어보면서리플렉스에서 로직을 구현하는 방법에 익숙해지도록 하는 것을 1차목표로 한다.(이 포스팅을 .. 2023. 10. 3.
파이썬의 리스트도 표현할 수 있나? # 투두리스트 앱 만들기 앞선 포스팅에서는 간단히 rx.heading이나 rx.text를 이용해 화면에 글자를 출력해보았으며 State라는 클래스와 클래스 변수인 Var를 이용해 동적인 웹앱, Counter를 구현해보았다. 그럼 이런 생각도 해볼 수 있을텐데? 단순한 텍스트 목록은 rx.text를 나열하면 될텐데, ["a", "b", "c"] 같은 리스트도 표현할 수 있을까? (직접 공식문서를 찾아 읽어보신 분이라면, 어렵지 않게 구현하실 것) 이 때는 우리가 사용할 또 다른 레이아웃 컴포넌트, 바로 rx.foreach가 필요하게 되는 시점이다. (굳이 비유하면 파이썬의 for문과 map 함수를 합친 느낌이다.) 참고로 rx.foreach는 단순한 파이썬의 for문과는 살짝 다르다. 무엇이 다른고 하니, rx.foreach(리스.. 2023. 10. 3.
간단한 동적 웹앱 만들어보기 : Counter 이번 포스팅에서는 아래와 같은 페이지를 만들어 보고, State의 사용법에 대해 간단히 이해해보고자 한다. 아래와 같은 코드로 index 함수를 만들었다. import reflex as rx def index(): return rx.vstack( # 행 방향으로 나열하는 레이아웃 컴포넌트 rx.heading("Counter"), # 제목 rx.hstack( # 열 방향으로 나열하는 레이아웃 컴포넌트 rx.button("-", color_scheme="red"), rx.heading("0"), rx.button("+", color_scheme="green") ) ) app = rx.App() app.add_page(index) app.compile() 참고로 위에서 사용한 vstack, hstack은 각각.. 2023. 10. 3.