목록Python (55)
CDW (Coding Discussion World)
파이썬 패키지(라이브러리) 의존성 문제로 가상 환경을 사용한다. 파이썬2에서는 별도로 virtualenv를 설치해야 하지만 파이썬3 버전부터는 venv 으로 바로 가상 환경 생성이 가능하다. 아래는 가상 프로젝트 생성 PS C:\pyminv> python -m venv {프로젝트명} PS C:\pyminv> python -m venv pyminkivy 다음으로 가상 환경에 접속하려면 아래 명령어를 입력한다. 프로젝트 폴더 안에서 아래 명령어를 입력하면 생성한 가상 환경에 접속 가능하다. 접속하면 제일 앞에 ({프로젝트명})이 보인다. {프로젝트명}\Scripts\activate PS C:\pyminv> pyminkivy\Scripts\activate (pyminkivy) PS C:\pyminv> 만약 가..
이번에는 파일 읽고, 쓰기를 해보고자 한다. open으로 바로 접근하는 방법이 있고, with을 사용해서 접근하는 방법이 있다. 어떤 것을 써도 상관은 없지만 with을 쓰지 않으면 마지막에 close()를 해줘야 한다. 우선, 파일 읽기다 ('r' 사용) ### with 사용 with open(os.getcwd() + '/test.txt', 'r') as f: a = f.readlines() print(f'a = {a}') ### with 미사용 f = open(os.getcwd() + '/test.txt', 'r') b = f.readlines() print(f'b = {b}') f.close() 둘다 test.txt라는 파일을 정상적으로 읽었다. a = ['test1\n', 'test2\n', 't..
이번편은 파이썬의 logging 기능에 대해서 알아보고자 한다. 해당 기능을 사용하면 특정 error log를 출력할수도 있고 별도의 파일에 저장할수도 있다. 또한 try, except 문을 통해 특정 상황에 원하는 log를 출력할수도 있다. 우선 아래와 같이 설정해놓고 한줄한줄 확인해보자. ### 로깅 이름 및 레벨 (DEBUG, INFO, WARNING, ERROR, CRITICAL) pyminlogger = logging.getLogger("pymin") pyminlogger.setLevel(logging.WARNING) ### 로깅 출력 형식 formatter = logging.Formatter('%(asctime)s - %(name)s [ %(levelname)s ] - %(threadName)..
python의 datetime에 대해 알아보고자 한다. 1. 가장 기본적인 형태 import datetime # from datetime import datetime, time, date, timedelta #보통 이렇게 많이 쓴다. now = datetime.datetime.now() print(now) 2022-06-11 23:58:29.150157 2. 내가 원하는 형태로 출력 import datetime now = datetime.datetime.now().strftime('%Y-%m-%d %H:%M') now2 = datetime.datetime.now().strftime('%Y/%m/%d %H:%M') print(now) print(now2) 2022-06-12 00:01 2022/06/12 ..
지난 편에서는 sqlite3 database에 있는 data를 출력하고 특정 게시글을 눌었을 때 별도의 URL페이지를 통해 디테일한 화면으로 이동할 수 있도록 설정하였다. 2022.11.12 - [Python/Do something] - python(django) - 장고로 웹페이지 만들기, detail page (7) 이런 과정에서 3개의 html 파일이 생겼고, 중복되는 부분이 많다. 중복되는 부분은 합쳐야 관리가 쉽다. 우선 navi.html로 신규 파일을 하나 생성하자. 이 파일을 main base로 사용할 예정이다. navi.html에 아래 내용을 붙여넣자. 내용 자체는 기존 base2.html 에 있던 내용들 중에서 바뀌지 않는 부분만 유지하고 내용이 변경되는 부분은 밑에 {% block ma..
지난 글에서는 sqlite3 datebase에 저장된 data를 실제 웹 화면에 출력하는 것을 진행했다. 2022.11.11 - [Python/Do something] - python(django) - 장고로 웹페이지 만들기, views (6) blog의 detail한 화면을 보기 위해서 modal을 이용해서 팝업 형태로 상세 내용을 확인했다. 하지만 팝업 형태가 아니라 별도 도의 URL주소와 page를 할당하는 형태로 하려면 어떻게 해야 할까? 추가 app은 만들지 말고 기존 blog app을 활용해서 최대한 간단하게 만들어보자. 우선 blog의 app의 views.py에 아래 새로운 class를 추가한다. class PostList2(ListView): model = Post template_name..
이전 편에서는 django admin 페이지를 통해 db에 data를 넣는 것을 진행했다. 그럼 이제 넣은 data를 웹페이지에 출력하도록 하자. 2022.11.10 - [Python/Do something] - python(django) - 장고로 웹페이지 만들기, models, database (5) 기존 views.py를 보면 단순하게 html만 전송하고, data를 가져오는 절차가 없다. 이제 data를 넣어주는 절차를 추가해보자. from django.shortcuts import render # Create your views here. def index(request): return render( request, 'blog/base.html', ) FBV대신 CBV를 활용할거기 때문에 아래 ..
이전 편에서는 bootstrap을 통해 웹페이지의 Navigator, 본문 넣기, modal, footer 등을 추가했다. 2022.11.10 - [Python/Do something] - python(django) - 장고로 웹페이지 만들기, bootstrap modal (4) 하지만 이렇게 페이지를 만들 경우 사용자는 페이지의 단순한 내용 업데이트를 위해 html을 계속 수정해야 한다. 그럴수는 없으니 db에 data를 넣고 해당 내용을 불러오는 것을 해보자. 여기서부터는 복잡하니 간단히 요약해보고 하나하나 진행해보겠다. 1. models.py 설정 2. sqlite3 설명 및 migate 3. data추가 페이지 만들기(admin) 4. image와 file upload 기능 ============..