설문조사 어플리케이션설문조사 어플리케이션을 작성한다.두 파트로 구성되어있다.사람들이 접근하여 직접 투표할 수 있는 사이트관리자가 설문을 관리할 수 있는 관리용 사이트 python -m django --version # 장고 버전 확인가능 프로젝트 작성개발 서버설문조사 앱 만들기뷰 작성하기 1. 프로젝트 작성cd {프로젝트를 생성하기 원하는 디렉토리} # cd /Users/Username/Desktop/Django django-admin startproject {생성하고 싶은 프로젝트 이름} # django-admin startproejct mysite 위 명령어를 작성하게 되면 아래와 같은 파일들이 아래의 구조대로 생성이 됨mysite/ manage.py mysite/ __init__.py setting..
프레임워크 공부어떤 프레임워크나 스킬을 공부할 때 항상 고민하게 되는것이 있다.이 기술을 내가 쓸 수 있을까? 하는것항상 보면 기억에 남은 것들은 제대로 쓸 줄 알게되고, 모르면 게속 구글에서 구글링하거나, 스택오버플로우에서 방법을 찾게된다. 아니라면 공식문서에 들어가서 한참을 봐야한다.시간 소모가 많이된다. 그래서 어느정도 기초부분은 외워서, 기초적인 부분을 할 때는 뭔가를 찾느라 시간소모하는게 없게끔 만들어야 한다고 생각했다. 어떻게 공부할 것인가최근 유튜브에서 공부관련영상들이 나오는데(알고리즘으로) 그 중 1R3T(한 번 읽고 3번 자체적으로 시험)보는 방법이 있었다. 코딩하는 사람이 으레 그렇듯, 자주쓰는 함수나, 기능은 익숙해져서 잘 쓰게된다.그게 일종의 1R3T기법중 하나라고 생각 - 공식문서..
유저와 프로필은 기본적으로 1:1관계다하지만 1:1관계라도, FK(unique)설정을 통해, OneToOne과 같은 데이터베이스 구조를 만들 수 있다.다른점은 reverse_name이 달라진다는 것이다.profile.user_set.first() -> user profile.user -> user위와같은 경우 first를 입력해주어야한다는 단점이 있다.그냥 OneToOne 쓰자.. 시그널이라는 것을 통해서 User가 생성될 때, 자동으로 생성될 수 있게끔 구현하는 것이 기본적이다. Uploaded by N2T
reverse_name FK로 삼은 객체에서 접근하는 방법이다.기존 접근 방법은 아래와 같다.post = Post.objects.filter(id=4) Comment.objects.filter(post_id=4) Comment.objects.filter(post__id=4) Comment.objects.filter(post=post)위와 같은 코드로 post_id가 4인 comment를 찾을 수 있다.하지만 아래와 같은 코드로도 동일한 동작을 한다. post.comment_set.all()바로 fk로 사용하고 있는 post에서 comment를 접근하는 방법이다. 사실 사용자 관점이나, 객체지향적으로 봤을때 이게 자연스럽긴하다.왜냐하면 댓글은 보통 게시글을 클릭했을 때, 그 게시글에 작성된 댓글을 리스트로..
Model Manager 기본적인 인터페이스를 제공하는 것은 ModelCls.objects가 제공하게 된다.ModelCls.objects.all() ModelCls.objects.all() .order_by(”-id)[:10] ModelCls.objects.create(title="New Title") qs = Post.objects.all().order_by('-id')[:2] #id 부분에 정렬 기준이 될 column을 넣음 print(qs.query) qsㅇ위와 같이 정렬도 가능하다.query = "번째" qs = Post.objects.all()\ .filter(message__icontains=query)\ .order_by('-id') print(qs.query) qs r 채이닝 쿼리가 여러줄..
Statichtml, css, js등의 파일을 Static 파일이라고 한다.앱 / 프로젝트 단위로 저장됨 Media 파일Model 파일에서 models.FileField/ImageField를 통해서 저장한 모든 파일을 Media파일이라고 한다.(Django에만 존재하는 개념)DB필드에는 저장경로를 저장하며, 파일은 파일 스토리지에 저장 프로젝트 단위로 저장됨 실제로 DB에는 서버에 저장되는 저장 경로가 저장이 되며, 파일은 서버가 지정한 스토리지에 저장이 된다.(스프링에서 FileUtils를 따로 만들어서 저장해야 됐는데, 여기에서는 이미 그 과정이 완성되어있음) Pillow라는 이미지 처리 라이브러리가 필수 Media 파일 처리 순서HttpRequest.FILES를 통해 파일이 전달뷰 로직이나 폼로직을..
pip로 설치된 패키지의 경로 찾는법가끔 pip로 전역설치된 패키지를 삭제해야 될 때가 있다. 그럴때 아래의 명령어로 그 패키지의 위치를 찾을 수 있다.python3 -c "import django; print(django.__path__)" 위는 django의 위치를 찾을 때 사용하는 명령어로, django의 위치 (import의 뒤와 print의 뒤 )에 경로를 찾고싶은 패키지의 이름을 넣으면 된다.사실 finder로 찾아가는게 더 편할수도 있겠다.(Linux에서는 이게 더 편하려나?) Uploaded by N2T
Django도 스프링과 같은 MVC패턴을 사용한다. 하지만 용어가 조금 다르다.스프링에서는 Control, Model, View로 클라이언트에게서 요청을 받는 역할인 Control, 데이터를 담아서 제공하는 Model, 그리고 실제로 클라이언트에게 보여지는 화면인 View가 있다. 하지만 장고에서는 MVT 패턴이라는 설계방식을 사용하는데, 하는 역할은 같고, 이름만 다르다.Model은 데이터를 저장하는 역할이다.View는 Client에게서 요청을 받는 역할이다.(url처리)Template는 Client에게 실제로 요청을 전하는 역할이다. 스프링의 구조와 비교한다면DjangoSpringModelModelViewControlTemplateView위의 표와 같게 된다. View 부분이나 Control 부분에서..
- Total
- Today
- Yesterday
- test
- dto
- security
- SSAFY
- JPA
- Java
- notion
- 11기
- QueryDSL
- 다대일
- 데이터베이스 설계
- ModelAttribute
- Config
- 배열
- spring data JPA
- 취업
- @BaseEntity
- Python
- 작업 순서정리
- 커맨드객체
- 코딩테스트
- 일대다
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |