Django
-
Python Django 기초 시험 오답노트Django 2024. 9. 2. 14:41
파이썬 장고 기초 시험을 봤다. 주관식 및 코드작성 문제에서.. 오답이 좀 있었다..🫨 객관식(7) Django 프로젝트에서 다양한 관리 명령을 실행할 수 있게 하는 파일은 무엇인가요?A) settings.pyB) urls.pyC) views.pyD) manage.py다음 중 Django에서 제공하는 기본적인 데이터베이스는 무엇인가요?A) PostgreSQLB) MySQLC) SQLiteD) MongoDBDjango의 QuerySet 메서드 중 데이터베이스에서 특정 조건에 맞는 모든 레코드를 반환하는 메서드는 무엇인가요?A) filter()B) get()C) exclude()D) all()Django 템플릿 시스템에서 변수의 값을 출력할 때 사용하는 문법은 무엇인가요?A) {{ 변수 }}B) { 변..
-
Django REST Framework, PostmanDjango 2024. 9. 1. 07:16
📕 Django REST Framework (DRF)Django를 이용해서 API를 구축하는 기능을 제공하는 라이브러리Django의 Form, ModelForm과 굉장히 비슷하게 구성 및 작동한다 ✅ DRF 설치 및 설정 installpip install djangorestframework settings.pyINSTALLED_APPS = [ ... 'rest_framework', ...] freeze pip freeze > requirements.txt 이제 DRF를 사용해서 JSON을 응답하는 API를 설계하고 구현해보자👌 urlsfrom django.urls import pathfrom . import viewsapp_name = "articles"urlpatterns = [ ..
-
JSON Response와 SerializationDjango 2024. 9. 1. 06:05
JSON Response 🤔 조회를 하려면 데이터가 필요하다. 매번 create하는 것도 너무 힘들고, 자동으로 많이 생성해주는 거 뭐 없을까? 이때 편리하게 쓸 수 있는게 바로 Django Seed! Django SeedGithub : **https://github.com/Brobin/django-seed**Django-seed uses the faker library to generate test data for your Django models.Django-seed allows you to write code to generate models, and seed your database with one simple manage.py command! 데이터 생성하기 install & freezepi..
-
HTTP와 URL구조Django 2024. 8. 29. 18:52
http가 진짜 중요한가보다. 끊임없이 나온다.🤔 📚 01. HTTP Hyper Text Transfer Protocol ⇒ Web에서 이루어지는 데이터 교환의 약속 HTTP를 사용해서 클라이언트와 서버는 요청을 하고 응답을 한다.Request: 클라이언트가 서버로 보내는 요청 메세지Response: 서버가 클라이언트에게 보내는 메세지 HTTP의 특성 Stateless (무상태) 모든 응답과 요청은 독립적이다. 서로가 서로를 기억하지 않는다. (뭔가 슬픔🥲) Connectless (비연결성)연결을 유지하지 않으므로 서버 자원을 효율적으로 사용할 수 있다. 이후 HTTP1.1이 등장하면서 개선됨요청 받고 응답을 주고나면 연결을 종료한다. 즉, 단순하고 확장성이 용이한 구조를 가졌다. 정은 없지..
-
Django Model Relationship (M:N)Django 2024. 8. 27. 01:25
좋아요와 팔로우 기능은 어떻게 만드는 걸까🤔 하나의 게시글도 여러명의 유저에게 좋아요를 받을 수 있고, 한 명의 유저는 여러개의 게시글을 좋아할 수 있다.즉, 다대다(M:N) 관계 설정시 사용하는 모델 필드를 사용하면 된다. Django에서도 models.ManyToManyField()을 이용해서 설정이 가능하다.M:N 관계가 설정되면 역참조시 사용가능한 _set이름의 RelatedManager를 생성한다. (related_name 으로 변경 가능)add(), remove()를 이용해서 관련 객체를 추가, 삭제할 수 있다. 좋아요 구현하기 articles/models.py 수정class Article(models.Model): ... like_users = models.ManyToManyFi..
-
Django Custom UserModelDjango 2024. 8. 19. 06:17
만약 기본 User Model을 사용하더라도 Custom User Model을 사용하는 것이 권장된다. 🚫 주의AUTH_USER_MODEL 설정은 반드시 프로젝트 최초 마이그레이션에서 함께 진행하기를 권장한다.USER Model은 비지니스로직 깊숙이 관여되기에 중간에 변경하면 많은 변경사항을 야기한다. User Model 정의하기 accounts/models.pyfrom django.db import modelsfrom django.contrib.auth.models import AbstractUser# Create your models here.class User(AbstractUser): pass⇒ 기본 유저를 변경하지 않더라도 확장성을 위해 Custom User Model을 작성해야 한다. ..
-
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 ...