일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
- 프로그래머스
- SQL
- 스파르타내일배움캠프til타
- pyhton
- 웹크롤링
- 기술면접
- RESTful
- 코드배포
- 이진트리
- 가상환경
- git
- pythonanywhere
- 내일배움캠프til
- python
- 파이썬
- 스파르타내일배움캠프TIL
- flask
- 내일배움캠프
- DB연동
- Django
- 기술면접질문
- github
- 앱
- fetch
- 서버
- ORM
- 배포
- programmers
- 스파르타내일배움캠프
- 장고
- Today
- Total
목록python (43)
Lina's Toolbox
ManyToMany RelationshipM:N 관계에 대해 이해해서 Django Model과 ORM을 활용하여 구현해보자! 좋아요 생각해보기🤔 좋아요 기능은 어떻게 구현을 해야할까요?⇒ 모든 기능은 로직을 고민하고 손으로 구현하는 방법 뿐입니다!좋아요 기능이 뭔가요?User가 Article에 좋아요(Like)를 누르는 것입니다.저장해야할 데이터는 뭘까요?User가 어떤 Article에 좋아요를 눌렀는지 저장하면 됩니다. 1차 구현User(1) - Article(N) :⇒ 한 명의 유저는 여러 Article에 좋아요를 누를 수 있으니까요!articles/models.pyclass Article(models.Model): title = models.CharField(max_length=50) ..
Custom User Model현재 UserModel은!Django의 기본 User Model을 사용하고 있습니다.대부분의 프로젝트에서는 User Model에 더 많은 기능들이 필요합니다.Django는 AUTH_USER_MODEL setting을 변경하여 기본 User Model을 대체할 수 있습니다.만약 기본 User Model을 사용하더라도 Custom User Model을 사용하는 것이 권장됩니다. 적용하기⚠️ 주의- AUTH_USER_MODEL 설정은 반드시 프로젝트 최초 마이그레이션에서 함께 진행하기를 권장합니다. - USER Model은 비지니스로직 깊숙이 관여되기에 중간에 변경하면 많은 변경사항을 야기합니다. User Model 정의하기accounts/models.pyfrom django.d..
Many to one relationships굉장히 흔히 사용되는 관계 1:N 관계 예시만약 Article에 Author라는 개념을 둔다면,하나의 Article은 한 명의 Author를 가질 수 있습니다.한 명의 Author는 여러개의 Article을 가질 수 있습니다.만약 Article에 Comment라는 개념을 둔다면,하나의 Article은 여러개의 Comment를 가질 수 있습니다.하나의 Comment는 하나의 Article을 가질 수 있습니다.Foreign Key외래키를 의미합니다.관계형 데이터베이스에서 한 테이블(A)의 필드 중 다른 테이블(B)의 행을 유일하게 식별이 가능한 키입니다.테이블(A)에 설정되는 Foreign Key가 반드시 다른 테이블(B)의 Primary Key일 필요는 없으나 ..
관리자 페이지 (Admin Site)우리가 운영을 하다보면..실제 서비스를 운영하다보면 서비스를 관리하는 페이지가 필요합니다.모든 관리자에게 DB를 열어주거나, 매번 SQL을 입력해서 보거나 수정할 수 는 없기때문입니다.(콜센터 직원 등, 비개발자들이 디비에 접근해야할 경우를 위해!)→ 이런 이유로 관리자용 페이지가 필요합니다. Django의 Admin SiteDjango는 기본적으로 관리자 사이트를 제공하고 있습니다. (심지어 이쁨)Django Framework를 선택하는 이유가 되기도하는 강력한 장점 중 하나입니다.직접 record를 조회, 생성, 수정, 삭제할 수 있는 모든 기능을 제공합니다.이외에도 각종 권한 부여를 해서 제한하거나, 페이지 자체를 커스텀 하는 것도 가능합니다!project app..
Static Files정적 파일(멈춰있는 파일)을 의미합니다.서비스 로직에서 별도의 처리 없이 보여주기만 하면 되는 파일을 의미합니다.서비스 이미지 파일(로고, 광고 이미지 …)자바스크립트파일, CSS 파일 등이러한 서비스 로직과 다르게 그냥 무조건 주기만 하면 되는 파일들이기 때문에 모아서 따로 제공할 수 있습니다.사용해보기 정적인 데이터를 "보여준다"는 건 response인건데response가 있다는건 request도 있어야한다는 것이다.스태틱데이터가 request를 어떻게 한다는 걸까? → url로 요청한다. → 이렇게 스태틱 파일들의 url을 설정해주는게 static_url STATIC_URLstatic 파일을 참조할 때 사용할 url입니다.개발 단계에서는 기본적으로 app/static 폴더 생성..
PydanticPydantic은 Python에서 데이터 검증과 설정을 쉽게 해주는 라이브러리입니다.주로 데이터의 유효성을 검사하고, 잘못된 데이터 형식을 자동으로 오류로 처리하는 데 사용됩니다.Pydantic의 주요 기능 중 하나는 데이터 모델을 정의하고 이를 통해 데이터를 검증하는 것입니다. 기본 사용법1. 설치pip install pydantic 2. 모델 정의Pydantic의 BaseModel을 상속하여 데이터 모델을 정의합니다.모델의 필드에는 타입 힌트를 추가하여 데이터의 타입을 지정할 수 있습니다.from pydantic import BaseModelclass User(BaseModel): id: int name: str email: str 3. 데이터 검증모델을 사용하여 데이터..
URL Namespace우리의 프로젝트는 article과 user 두개의 앱을 가지고 있다.우리는 url name을 참조하여 실제 url을 찾아가도록 하는데,만약 두개의 앱에서 같은 name을 쓴다면 어떻게 될까?(articles/urls.py에도 hello/ url이 있고, users/urls.py에도 hello/가 있다면?) articles/urls.pyfrom django.urls import pathfrom . import viewsurlpatterns = [ ... path("hello/", views.hello, name="hello"), ...] users/urls.pyfrom django.urls import pathfrom . import viewsurlpatterns ..
보통 글작성하면 이화면이 나오지는 않죠?글을 작성한 뒤 글 목록 페이지를 보여주도록 수정해볼까요?→ 아 ! 그러면 /create/ 경로에서 create.html 을 랜더링하는게 아니라 articles.html 을 랜더링하면 되지! …. ?글목록 어디갔지?url은 왜 /articles/create/ 지?→ html만 다른 템플릿으로 랜더링 했을뿐, 실제로 url이 이동해서 GET 요청을 보낸 것이 아닙니다! → 단순히 랜더링 해주는게 아니라, 리다이렉트(내가 지정한 url로 돌려보내는 것)를 해줘야한다. redirect 사용하기redirect는 지정한 URL로 되돌리는 것을 말합니다.우리가 웹 사이트를 이용하면서 많이 봐왔던 동작 방식입니다.articles/views.pyfrom django.shortc..
ORM (Object-Relational-Mapping)SQL 안쓰고 Python으로 데이터베이스 조작할 수 있게 해주는 것!(ORM은 최적화된 sql쿼리를 내부에서 제공해주기 때문에 기초 sql을 할수 있는 정도라면 orm 쓰는게 더 빠르다.)Django ORM만 있는건 아니고 여러 가지가 존재합니다.Python - Django ORM, SQLAlchemy, Tortoise ORM …JAVA - JPA, Hybernate …Node.js - Sequalize …결국 ORM이 중간에서 고생해 주는 것!SQL Statement ↔ ORM ↔ Python Object ORM 장단점 💡 장점SQL을 잘 알지못해도 DB 조작 가능!SQL을 알아도 기존의 복잡한 쿼리문 작성없이 객체 지향적인 접근 가능!SQL..
중고 거래 사이트를 장고 프레임워크를 사용하여 개발 중이다.그런데 상품 정렬 기능을 개발하던 중... 정렬 버튼을 아무리 눌러도 결과가 반영되지 않는 문제가 발생했다. 원인 파악쿼리 여러번 확인하고, 템플릿 url 링크 확인, 템플릿 상속 문제,캐시 문제까지 2시간 가량 별의 별것을 다 확인해봤지만 원인이 아니였다. {% block sorting %} 최신순 인기순 {% endblock sorting %} 해당 버튼을 누를 때마다 터미널 창을 확인해보면,[22/Aug/2024 19:33:51] ..