본문 바로가기

Python

(7)
장고(django) URL 정규식 사용하기 ​ 기존의 길고 복잡한 URL 방식에서 특수문자 등을 제거한 간편 URL을 선호하고 있습니다. 기존 URL : https://example.com/products?category=2&pid=25 간편 URL : https://example.com/products/2/25 ​ 파이썬 장고 프레임워크도 간편URL 방식을 사용하는데, 우아한 URL(Elegant URL)이라고 부르기도 합니다. from django.urls import include, path urlpatterns = [ path("index/", views.index, name="main-view"), path("bio//", views.bio, name="bio"), path("articles//", views.article, name="..
pynecone 페이지 추가 [링크] pynecone 설치 및 프로젝트 생성 ​ pynecone 프로젝트 생성 후 간단한 예제만들어 보았는데, 페이지를 추가하고 동작하는 부분을 확인해 보겠습니다. 페이지 추가 ​ 갤러리에 있는 카운터 샘플을 페이지로 추가해보겠습니다. 실행 결과는 아래처럼 감소, 임의의 수, 증가 3개의 버튼이 존재하며, 클릭할 때마다 해당 버튼의 이벤트가 동작하는 페이지입니다. ​ ​ ​ first_app/first_app.py 파일 수정 ​ 파일을 아래처럼 수정하고 저장하면 자동으로 컴파일되면서 counter.js파일이 생성됩니다. """Welcome to Pynecone! This file outlines the steps to create a basic app.""" from pcconfig import co..
pynecone 설치 및 프로젝트 생성 파이썬 프론트엔드 프레임워크로 핫한 파인콘을 설치하고 테스트해보았습니다. 아직 버전이 0.1.12이긴 하지만 현재 제공되는 기능을 봤을 때 매력적인 부분이 분명히 존재하였습니다. 파인콘은 파이썬으로 구현하는 프론트엔드 프레임워크로 파이썬 소스를 리액트로 변환해서 동작하는 구조입니다. 프론트엔드 개발자이거나 풀스택 개발자라면 관심이 가지 않을 수 있는 주제이지만 파이썬 개발자가 프론트엔드를 구현할 때는 매우 도움이 될 수 있습니다. 가상 환경 설정 가상환경 설정은 필수가 아니지만 이미 파이썬 모듈을 설치하고 있었다면 저처럼 충돌이 발생할 수도 있기 때문에 가상환경으로 설정하는 것을 추천합니다. ​ 저는 기존 사용하던 redis-cluster 모듈이 redis3.X 버전을 사용하고 있기 때문에 pynecon..
Python으로 Firestore Database (클래스를 통한 입출력) ​ 앞서 dictionary 에 담아 CRUD를 구현한 내용을 포스팅하였습니다. ​ 클래스를 통한 입출력 Cloud firesotre는 클래스로 문서작성을 지원하므로 아래 예제에서는 클래스를 통한 입출력 예제를 테스트해 보겠습니다. ​ [이전 포스팅] : Python으로 Firestore Database 다루기 (설정 / CRUD) [예제 원문] : Firesore 데이터 추가 및 관리 ​ ​ city.py class City(object): def __init__(self, name, state, country, capital=False, population=0, regions=[]): self.name = name self.state = state self.country = country self.c..
Python으로 Firestore Database 다루기 (설정 / CRUD) serverless 환경에서 NoSQL을 사용하는 방법은 여러가지가 있습니다. 그 중 다양한 플랫폼 및 언어를 지원하는 firestore를 Python으로 다뤄보도록 하겠습니다. 본문의 예제는 firebase 제공 문서를 기준으로 작성하였습니다. ​ firestore의 기능 및 다른 언어 연동 부분은 아래 문서를 참고하시기 바랍니다. ​ [소개 링크] FireBase 소개 문서 [예제 링크] Firestore CRUD 예제 ​ 준비 # pip3 install --upgrade firebase-admin ​ firebase 콘솔로 이동하여 firestore 프로젝트를 생성합니다. ​ 프로젝트 설정에서 비공개키를 다운로드 받아 개발 예정인 폴더에 넣어 둡니다. ​ 접속 테스트 다운받은 접속키를 이용하여 아래..
Python dataclass 사용하기 python 3.7에 추가된 dataclass 는 데이터 저장을 위해 사용하는 클래스를 더욱 편리하게 구현이 가능합니다. 또한 인스턴스를 print 했을 때 값을 확인할 수 있으며, 딕셔너리나 튜플 타입으로 변환이 가능하기 때문에 유용하게 사용할 수 있습니다. ​ 기존 방식으로 class 생성 기존 방식으로 클래스를 만들면 아래 소스처럼 __init__() 메서드를 추가해줘야 합니다. ​ before.py class Person: def __init__(self, name: str, gender: str, age: int): self.name = name self.gender = gender self.age = age def say_hello(self): print("Hello, " + self.name..
셀레니움 크롬드라이버로 local storage제어하기 RPA 및 크롤링 도구로 selenium을 많이 사용하는데, 값을 재사용하기 위해 localstorage 제어하여 활용하였습니다. ​ 셀레니움에서 localstorage를 제어하는 부분을 살펴보겠습니다. ​ 기본 동작은 아주 간단한데 자바스크립트를 실행시켜 localstorage 키에 값을 넣는 방식입니다. driver.execute_script("window.localStorage.setItem(arguments[0], arguments[1]);", key, value) ​ 크롬 드라이버 제어 클래스 제가 사용하는 크롬 드라이버 클래스 소스의 일부를 발췌하였습니다. ​ chromedrivcer.py import os import platform from os import path from seleniu..