본문 바로가기

Python/Django29

Serialization, Parse 2023. 4. 20.
DJANGO 심화 강의 주차별 내용 http와 웹의 동작 방식 drf tutorial 회원기능(쿠키,세션이 아닌 토큰 방식) 인스타그램 기능 클론(글 댓글 좋아요 팔로우) 테스트코드 작성해보기(수정사항들을 매번 수동으로 테스트x, 자동화) http와 웹의 동작 방식 더보기 drf 소개 postman http 여태까지 썼던 장고는 mvt 방식, 장고 템플릿 문법 불편한 점 > 댓글 작성이나 글 작성시마다 웹페이지가 새로고침이 된다. ajax 등으로 해당 부분만 업데이트 하고, 서버에서도 그 부분의 데이터만 보내줌 여태까지 쓰던 방식은 올드한 방식이고, 앞으로 강의에서 templates는 더 이상 작성하지 않을 것(아마) 그럼 어떤식으로 프론트 - 백이 통신할 것인가? postman 웹의 흐름 클라이언트 ↔ 서버 reques.. 2023. 4. 18.
django 기초부터 다시 1 프로젝트 폴더와 manage.py __init__.py 파이썬에게 이 디렉토리를 하나의 파이썬 패키지(모듈)로 다루도록 지시하는 파일. Python 공식 홈페이지의 패키지 settings.py 현재 Django 프로젝트의 환경 및 구성을 저장해주는 파일. 환경 설정이 어떻게 동작하는지 Django settings urls.py Django project 의 URL 선언을 저장. Django로 작성된 사이트의 “목차” 라고 할 수 있다. URL 에 대한 자세한 내용 URL dispatcher asgi.py wsgi보다 성능이 향상된 비동기식 웹서버를 할 수 있게 해주는 파일. ASGI를 사용하여 배포하는 방법 wsgi.py 웹서버 게이트웨이 인터페이스. 나중에 배포할 때 사용. 파이썬, 장고 프레임워크가 .. 2023. 4. 12.
erd ERD Entity Relationship Diagram 데이터베이스에서 어떤식으로 관계가 형성되어 있고, 어떤식으로 사용할지 그림으로 표현한다고 생각하면 된다. 1. 요구사항 파악 와이어프레임 구성 후 진행하면 편하다. 나타낼 / 저장할 정보 파악 ex) 작성자, 제목, 태그, 조회수, 댓글, 좋아요, 작성일 등 2. 데이터 모델링 - 개념적 모델링 데이터 간의 관계를 구상 각 개체들간의 관계를 발견하고 표현 간단 명료한 ERD 그리기 - 논리적 모델링 개념적 모델링 완료 후 구체화 데이터 타입 명시 Key, 속성, 관계를 표시 - 물리적 모델링 논리적 모델링 완료 후 실제 데이터 베이스 테이블 생성 Django에서 models.py 사용 makemigrations, migrate 과정 ForeignK.. 2023. 4. 6.
Django - 로그인 기능 서버 ↔ 클라이언트 사이에서 요청과 응답을 할때, 같은 사람이 요청을 하는지 확인하려면? 세션(사용자 정보를 저장하는 공간) 클라이언트가 서버에 요청을 보낼 때, 서버에서 세션에 대한 고유 식별자를 생성해서, 클라이언트에게 쿠키 형태로 전송. 클라이언트는 이후 서버에 요청을 보낼 때마다 쿠키를 함께 전송하며 서버가 세션을 식별할 수 있도록 한다 로그인 기능 만들기 url은 연결이 이미 되어있으므로 view와 html 수정해주면 된다 요청이 POST라면, HttpResponse("로그인 성공!")을 요청이 GET이라면, 로그인 화면을 렌더해주도록 view를 수정 HttpResponse는 Http응답을 처리하는 클래스이다 # user/views.py from django.shortcuts import ren.. 2023. 4. 4.
Django - 회원가입 기능과 CSRF 토큰 signup의 html 수정 {% csrf_token %} ... ... {% csrf_token %}은 CSRF(Cross-site request forgery) 토큰을 생성한다. 이 토큰은 사용자가 요청을 보낼 때 마다 해당 토큰을 함께 제출하도록 요구함으로써 보안을 지켜주는 기능 method="post" > 회원가입 정보를 저장해야 하므로 post메소드 사용 action="/sign-up/" > 어떤 url로 전달할 것인지 *뒤에 /를 붙이지 않으면 오류가 난다. 회원가입용 view 함수 # user/views.py from django.shortcuts import render, redirect from .models import UserModel # .models에서 UserModel을 가져옴 .. 2023. 4. 4.
Django - 템플릿 상속과 URL연결, path() 함수 템플릿 상속 템플릿 문법 {% extends 'base.html' %} {% block title %} 로그인 {% endblock %} {% block content %} ... {% endblock %} 이렇게 {% %}의 형태로 이루어진 것들은 장고에서 말하는 템플릿 문법 html을 이어서 작성할 수 있게 해주고, html파일에 파이썬 기능들을 추가해 줄 수 있도록 도와주는 문법들 {% extends 'base.html' %}에서 base.html을 상속 받아서 사용하는데, {% block content %}와 {% endblock %} 사이에 있는 것들은 자식 템플릿에 있는 것을 사용하겠다는 의미 클래스에서 부모클래스의 메소드를 상속받은 뒤 자식클래스에서 오버라이딩하는 느낌 url - view -.. 2023. 4. 4.
Django - Models 만들기 Tweet 모델 만들기 (글 작성 기능) DB에 적용할 클래스 작성 # tweet/models.py from django.db import models from user.models import UserModel #user앱에 models중 이름이 UserModel인 것을 가져옴 # Create your models here. class TweetModel(models.Model): class Meta: db_table = "tweet" author = models.ForeignKey(UserModel, on_delete=models.CASCADE) # ForeignKey 내가 다른 데이터베이스에서 모델을 가져와서 넣어놓겠다는 뜻 content = models.CharField(max_length=256.. 2023. 4. 4.
Django - Admin기능 Admin 관리자 페이지를 직접 만들어주는 기능으로 db 수정 삭제 입력 등이 가능하다. http://127.0.0.1:8000/admin # Terminal에서 입력 python manage.py createsupersuser Username Email address Password Password (again) 의 값들을 input으로 넣으면 관리자 계정을 만들 수 있다. 유저모델 관리창에 등록하기 # user/admin.py from django.contrib import admin # 장고에서 admin툴을 사용 from .models import UserModel # .models에서 UserModel을 가져옴 # Register your models here. admin.site.registe.. 2023. 4. 4.