일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | |||||
3 | 4 | 5 | 6 | 7 | 8 | 9 |
10 | 11 | 12 | 13 | 14 | 15 | 16 |
17 | 18 | 19 | 20 | 21 | 22 | 23 |
24 | 25 | 26 | 27 | 28 | 29 | 30 |
31 |
- SAA
- docker
- EC2
- crud
- wetube
- NeXT
- TypeScript
- node
- Props
- Class
- flask
- react
- pandas
- git
- MongoDB
- 채팅
- 튜플
- S3
- RDS
- async
- lambda
- Vue
- socket io
- merge
- 파이썬
- AWS
- SSA
- dict
- 중급파이썬
- 카톡
- Today
- Total
목록Python (87)
초보 개발자

우리가 전에 admin페이지에서 보여주기 위한 설정으로 아래와 같이 적었던 적이 있다. 이건 데코레이터로 만든 방식이고, 아래처럼 만들 수도 있다. @admin.register(models.User) -> admin 패널에서 이 User모델을 보고싶어 class CustomUserAdim(admin.ModelAdmin) -> User모델을 컨트롤하는 클래스가 바로 이거야 라는 뜻이다. 이 클래스 안에서 다양한 커스텀을 해줄 수 있다. 현재 우리의 admin페이지의 User를 보면 아래와 같다. list_display, list_filter기능을 사용하면 장고가 data를 좀 더 보기쉽게 도와준다. 아래와 같이 작성을 한다면 admin 페이지의 User모델이 이렇게 바뀌어 있는 걸 확인할 수가 있다. di..

우리의 데이터가 이미 만개가 있다고 가정하고 새 필드(column)를 추가하려고한다. 이 때 옵션을 주어서 기존에 있던 값에 필드가 생기기 전에 있던 레코드에 데이터를 채워줄 것이다. 여기서 default=""인 것은 값을 ""로 채운 다는 뜻이고, null = True를 주면 기존에 있던 값은 비어있는 채로 있을 것이다 """ """ 이건 docstring이라는 뜻인데 이 클래스가 어떤 역할을 하는지 알려주는 것이다. User에 마우스를 올려보면 우리가 적은 내용이 표시되는 것을 확인할 수 있다. 또 from . models import User form . 이건 현재의 파일과 같은 폴더 내에 있는 import models 이건 models를 불러온다. 이뜻이다. 우리는 User 모델에 프로필 사진을 ..

django-admin을 사용해서 첫 앱을 만들어보자 앱의 이름은 복수형태로 만들어주어야 한다. django-admin startapp rooms django-admin startapp lists django-admin startapp reviews django-admin startapp users django-admin startapp conversations 앱 안에 있는 이름들은 절대 변경해선 안된다. 파일명 변수명 장고는 각 정해진 파일, 변수를 지켜보고 있기 때문이다. 하지만 생성하는 것은 자유롭다. urls.py를 비롯해 몇가지 파일을 생성할 것이다. 장고에서 기본적으로 제공하는 user모델이 있는데 많은 기능을 충분히 제공하고 있지만, ( 유효성검사, 권한 등 ) 우리는 이걸 좀 더 확장해서..

우리가 만든 장고 project는 여러 애플리케이션을 포함한다. project는 app의 집합이다. 언제 어떻게 app을 만들고 어떻게 project를 계획하는지 배워보려고 한다. 먼저 에어비앤비를 들어가면 방을 고를 수 있다. 그 방의 정보를 수정, 추가, 리스트보여주기, 검색하기, 삭제, 업로드 이게 하나의 애플리케이션이다. 거기에 달린 리뷰들이 있다. 그 리뷰들도 room app에 넣으면 될까?? room을 리뷰하는 것이니까?? 그럼 리뷰생성하기, 삭제하기,수정하기 리뷰 보기 리뷰 나열하기 거기에 또 room 예약 기능이 있을 것이다. 예약 생성하기, 삭제하기 기능도 필요하다. 호스트가 예약을 승인과 취소도 할 수도 있어야 한다. 이외에도 엄청 많다. 이러한 기능을 room app에 전부 담아버리면..

db.sqlite3을 삭제해보자 , 왜냐하면 앞서 runserver를 했을 때 이 파일이 없을 때 오류가 발생했기 때문이다. 그리고 지금 그 빨간색 오류를 다시 보고싶기에 지우는 것이다. 지우고 다시 서버를 실행시켜보자 python managy.py runserver 그럼 위와같이 다시 빨간색 오류메시지가 나올 것이다. 폴더를 보면 sqlite파일이 생긴 것이 보이는데 지금은 빈 파일이다. /admin으로 들어가보면 아래와 같이 오류가 발생한 것을 확인할 수 있다. 장고에서 데이터베이스 테이블을 검색하지만 존재하지 않는다는 에러이다. (django_session 테이블) 지금은 장고와 데이터베이스가 연동되지 않았다는 뜻이다. migration이란 하나의 상태에서 다른 상태로, 다른 데이터 유형으로 바꾸는..

config 폴더안에는 __init__.py라는 파일이 있다. 현재는 비어 있지만 이 파일은 파이썬한테 필요한 것이다. 장고 관련된 파일이 아니다. 새로운 폴더를 만들 때 파이썬에서 그 폴더의 파일들을 써야 할 때는 항상 그 안에 __init__.py를 두어야 한다. 일종의 import방식이다. __init__.py가 있어야 이렇게 config.settings를 쓸 수가 있다. config 폴더가 그 안에 __init__.py를 갖고 있기 때문에 파이썬 패키지처럼 import시켜서 쓸 수 있는 것이다. 이 장고 앱을 실행시켜보자 가상환경 속에서 아래와 같이 실행시키면 python manage.py runserver 오류가 뜨긴 뜨지만 실행이 잘 된 것을 확인할 수가 있다. 위의 주소로 접속하면 아래와 같..

django document를보면 django-admin startproject mysite 이렇게 하라고 한다. 근데 이미 나는 airbnb-clone이라는 폴더를 만들고 가상환경까지 만들었는데...? 다시 지우고 저걸 실행해야하나 싶었는데 그냥 만든 폴더 안에서 이렇게 적어보자 django-admin startproject config 그럼 airbnb-clone폴더안에 이런 폴더가 하나 생성이 된다. 여기서 중요한 것은 바깥의 confing의 이름을 Aconfig로 바꾸는거다. 사실 다른이름도 상관은 없다. 왜냐하면 안에있는 config 폴더와 manage.py를 밖으로 꺼내려고 하기 때문이다. 이 두개는 이름이 같으니까 이름을 바꾸지 않으면 밖으로 꺼낼 수 가 없다. 그리고 Aconfig폴더는 지..

먼저 pip란 package installer for python의 약자이다. nodejs를 사용했을 때 npm으로 패키지를 설치하곤 했다. 이 때 npm -g 옵션을 주면 전역으로 설치되어버리는데, 전역으로 설치되어버리면 나중에 버전이 맞지않아 다른 것을 돌릴 때 충돌 가능성이 높다. 파이썬에서는 pip로 패키지를 다운로드를한다. pip은 무조건 global로 설치를해버린다. 만약 django버전 2.2와 3을 쓰고싶은데 pip로 설치해버리면 둘 중 하나밖에 설치할 수 없게 되어버린다. 대부분의 경우에 프로젝트는 서로 다른 버전을 쓰게 된다. 그래서 모든게 다 global로 설치되는 걸 피해야 된다. 이러한 이유로 pipenv라는걸 설치해야 한다. pipenv는 파이썬을 위한 npm + package...