전체 글
-
Djnago Model Relationship (1:N)Django 2024. 8. 19. 04:31
댓글(Comment) 구현하기 articles/models.pyclass Comment(models.Model): article = models.ForeignKey(Article, on_delete=models.CASCADE) content = models.CharField(max_length=255) created_at = models.DateTimeField(auto_now_add=True) updated_at = models.DateTimeField(auto_now=True) def __str__(self): return self.content 그 다음에 마이그래이션 해주면, 속성값이 생긴걸 확인할 수 있다. 자, 그럼 댓글 달기 해보자. ORM 사용해보기..
-
Django 관리자 페이지 (Admin Site)Django 2024. 8. 19. 00:49
Django의 Admin Site Django는 기본적으로 관리자 사이트를 제공하고 있다.Django Framework를 선택하는 이유가 되기도하는 강력한 장점 중 하나다.직접 record를 조회, 생성, 수정, 삭제할 수 있는 모든 기능을 제공한다.이외에도 각종 권한 부여를 해서 제한하거나, 페이지 자체를 커스텀 하는 것도 가능하다. project app / urls.pypath("admin/", admin.site.urls), 직접 사용해보자. admin 계정 생성python manage.py createsuperuser최소 is_staff 이상의 권한이 필요하다. 기본 등록하기 admin.py# articles/admin.pyfrom django.contrib import adminfrom ...
-
Django Static & MediaDjango 2024. 8. 19. 00:24
Django Static & Media 개념 설명 STATIC_URLstatic 파일을 참조할 때 사용할 url개발 단계에서는 app/static 경로 및 settings의 STATICFILES_DIRS 에 정의된 경로 참조실제 디렉토리 경로가 아님! URL로만 존재하는 경로이다.STATIC_ROOT배포를 위해 정적 파일을 수집하는 디렉토리의 절대경로django 프로젝트에서 사용하는 모든 정적 파일을 이곳으로 모아서 적용단, DEBUG=True 인 경우 동작 X (개발 단계)추후 배포시 모든 정적파일을 다른 웹 서버가 직접 제공하기 위함 collectstatic 모든 경로를 다 뒤져서, 한 곳에 모아두는 명령어 python manage.py collectstaticSTATIC_ROOT에 모든 정적 파일..
-
Django 회원기능 구현하기Django 2024. 8. 18. 21:32
회원가입 Django는 기본 auth.User를 가지고 있기 때문에, 이를 기반으로한 기본적인 회원가입 ModelForm을 제공하고 있다. UserCreationFormDjango는 OpenSource이다username과 password 로 새로운 user를 생성하는 ModelFormusername, password1, password2를 가진다. 코드 작성하기 (signup) accounts/forms.pyfrom django import formsclass ArticleForm(forms.Form): title = forms.CharField(max_length=10) content = forms.CharField() (signup) accounts/views.pyfrom django.c..
-
Django Auth, Login & LogoutDjango 2024. 8. 17. 06:26
Django Auth auth로 Login, Logout 기능을 구현할 수 있다. 로그인 1. accounts App 생성python manage.py startapp accounts *계정 관련된 로직은 accounts 앱으로 하는 것이 일반적이다.settings.py 가서 앱 등록urls.py 만들기 2. 로그인 구현하기 urls.pyfrom django.urls import pathfrom . import viewsapp_name = "accounts"urlpatterns = [ path("login/", views.login, name="login"),] views.pyfrom django.shortcuts import renderfrom django.contrib.auth.forms imp..
-
Django Form ClassDjango 2024. 8. 17. 03:13
Django Form Class 일부 반복되는 작업 및 코드를 줄일 수 있는 기능으로 Model과 흡사한 형식으로 진행된다.→ 폼에 입력받고 싶은 데이터 형식을 정의한 후, 그렇게 정의해놓은 걸 기준으로 자동으로 폼이 생성되게 해준다. 1) Form 선언하기 articles/ forms.py from django import formsclass ArticleForm(forms.Form): title = forms.CharField(max_length=50) content = forms.CharField() # max_lenth를 지정하지 않으면 길이 제한 없게 입력받는 형식이 됨Model과 비슷하게 이 Form에서 입력받고자 하는 데이터에 대한 내용을 작성한다.형식이나 속성도 일부 Model..
-
Django Model, Migration, ORM, Database APIDjango 2024. 8. 16. 03:07
Django는 Model을 이용해서 데이터를 조작한다.일반적으로 하나의 모델은 하나의 데이터베이스 테이블을 의미한다. 데이터베이스 기본 구조 ↓ User_ID NameEmailAddress1John Doejohn@example.com123 Main St2Jane Doejane@example.com456 Elm St테이블(Table)기본키, PK(Primary Key)열(Column)행(Row) → 이러한 데이터베이스를 Model을 사용해서 구조화 하고 조작할 수 있는데, 장고는 파이썬으로 Model 코드를 작성한 후 데이터베이스에 반영하기 위해 마이그레이션을 만들고, 이 단위로 데이터베이스에 변경사항을 반영한다. Django Model 작성하기 models.py from django.db import ..
-
쿠키와 세션의 차이Computer Science 2024. 8. 14. 10:23
쿠키와 세션을 사용하는 이유?HTTP 프로토콜의 특징이자 약점을 보완하기 위해서 사용한다. 세션과 쿠키는 클라이언트와 서버 간의 상태 정보를 유지하기 위해 사용된다. 하지만 이 둘에는 차이점이 있는데, 세션은 서버 측에서 관리 되고 클라이언트에게는 세션 ID만 전달되지만 쿠키는 클라이언트 측에서 관리된다. 따리서 쿠키는 클라이언트 측에서 변경이 가능하며, 서버가 클라이언트의 요청마다 쿠키를 받아서 처리한다. 쿠키는 클라이언트에서 연결정보를 관리하기 때문에 서버측에서 관리하는 것보다 보안상의 문제가 생길 확률이 높다. 따라서 쿠키보다 세션에서 연결 정보를 관리하는 것이 쿠키보다는 안전하다고 할 수 있다. 하지만 세션만 사용한면 서버에 부하를 줄 수 있기 때문에 이 둘을 적절히 사용하는 것이 중요하다. ..