멋쟁이 사자처럼 10기/세션 12

2022/07/15 <DRF 유저인증 & 배포 세션>

유저 모델 from django.db import models from djanog.contrib.auth.models import AbstractUser class User(AbstractUser): email = models.EmailField(max_length=100, unique=True) 유저시리얼라이저 생성 class UserSerializer(serializers.ModelSerializer): class Meta: model = User fields = ['id', 'username', 'email', 'password'] def create(self, validated_data): user = Usr.objects.create( email = validated_data['email'],..

2022/06/28 <DRF 심화 세션>

블로그 api 만들기 모델 생성 User : 아이디 비밀번호 이메일 Post : 작성자 작성날짜 제목 내용 Comment : 작성자 포스트 작성날짜 내용 class User(AbstractUser): email = models.EmailField(max_length=100, unique=True) class Post(models.Model): author = models.ForeignKey(User, on_delete=models.CASCADE) created_at = models.DateTimeField(auto_now_add = True) title = models.CharField(max_length=200) content = models.TextField() class Comment(models...

2022/06/21 <DRF 세션>

1. DRF 란?? django에서 웹페이지를 구동하는 방식 원래 template.html에서 사용자가 입력한 정보를 전달해주고 view.py에서 가공한 데이터를 전달하는 방식이라면 사용자가 입력한 정보를 전달하는 프레임워크가 React라면..!! django rest famework : django 안에서 restful API 서버를 쉽게 구축할수 있도록 해주는 오픈소스 라이브러리 Restful API?? API: 응용프로그램 데이터를 주고받는 규약 REST API : Json 형태로 CRUD 데이터를 주고받는 규약 RESTful : REST 방식을 따라서 개발하는 것 웹이 Json 형태로 CRUD 데이터를 주고받도록 ㄱ구현하기!! Django와 DRF 차이는 직렬화(serialization 여부) 차..

2022/05/27 <유저확장과 인증 세션>

1. 로그인 / 로그아웃 기능 구현 1) bash : Account 앱 생성 2) settings.py : 생성한 앱 등록 3) views.py : 함수 생성 4) urls.py : url 생성 5) login.html : 로그인 창 만들기 6) bash : runserver 1) Account 앱 생성 python manage.py startapp account 2) 앱 등록 3) views.py from django.shortcuts import render from django.contrib.auth.forms import AuthenticationForm, UserCreationForm def login_view(request): form = AuthenticationForm() return re..

2022/05/20 <Static & Media 세션>

Bootstrap 사용방법 NavBar 고르기 -> 모든 페이지에 적용하기 위해서는 !템플릿 상속! 템플릿 상속 : html 화면 상 계속해서 중복되는 부분을 별도의 html로 분류하여 1번만 작성하고 계속해서 재사용 base.html 만들어서 템플릿 뼈대로 사용 페이지마다 달라지는 부분은 {% block content %} {% endblock %} 사이에 삽입 Static & Media 설정 1. Static : 개발자가 준비해두는 파일, 개발 리소스로서 정적인 파일. 바뀌지 않는다 2. Media : form을 통해 유저가 업로드하는 파일 Static 파일 설정하기 1) STATICFILES_DIRS : static 파일들이 존재할 경로 작성 2) STATIC_URL : static 파일을 제공할 ..

2022/05/13 <1:N & M:N 세션>

Django model의 관계 1 : 1 부부 관계 1 : N 가족 관계 M : N 학교-학생 관계 1:N은 댓글, 좋아요 M:N은 해시태그로 구현된다 댓글 기능 구현 순서 1) models.py : Blog 와 1:N 관계인 모델 작성 2) bash : 변경한 모델을 migrate 3) admin.py : 관리자에 모델 추가 -> runserver로 모델이 추가 되었는지 확인 4) detail.html : 데이터베이스의 댓글을 보여주기 위한 코드 작성 5) admin page : 어드민 페이지에 접속하여 댓글 작성 6) bash :: runserver~!~! 1. 모델 작성(models.py) 속성명 타입 제한조건 post ForeignKey related_name, on_delete username ..

2022/05/06 <django Blog #2 세션>

urls.py urlpatterns = [ path('admin/',admin.site.urls), path('',blog.views.home, name = "home"), path('blog/', blog.views.detail, name = "detail"), ] / 이렇게 하면 url의 계층적인 구조 나타냄 ex) 3번째 블로그 글을 보고 싶으면 'blog/3' detail 함수에 blog_id라는 변수로 정수 3 전달 views.py Pk(primary key): model에서 찍어낸 데이터 객체들을 구분하는 숫자 데이터가 추가될때 자동으로 증가된다 (id로 표현) Create admin 사이트 안들어가고도 글 작성할수 있게!! new.html

2022/05/06 <django Blog #1 세션>

블로그 프로젝트 준비 source newvenv/Scripts/activate django-admin startproject blogproject -> 장고 프로젝트 생성 앱 생성 python manage.py startapp blog settings.py에 앱 등록 : blog.apps.BlogConfig python manage.py createsuperuser python manage.py runserver -> admin 페이지 생성 컴퓨터 소프트웨어의 기본적인 데이터 처리 기능 : CRUD C : create R : read U : update D : delete R : 데이터베이스에서 데이터를 가져와서 읽을 수 있도록!! 쿼리셋과 메소드 이용 쿼리셋 : 데이터베이스(models.py)로부터 데..

2022/04/08 <django 기초 세션>

Django란? 가상환경: 파이썬 프로젝트를 진행할 때 독립된 환경 폴더 생성&열기 터미널 열고 bash 확인 Python 설치 확인 : python --version 현재 위치 확인 : pwd 위치 이동 : cd 파일이름 가상환경 만들기 : python -m venv newvenv -> newvenv 이름의 가상환경 생성 가상환경 활성화 : source newvenv/Script/activate Django 설치 : pip install django 설치 확인하기 : pip list -> Django가 뜨면 설치된 것 장고 프로젝트 생성 : django-admin startproject 파일이름 프로젝트 폴더로 이동 : cd 파일이름 장고 서버 실행 : python manage.py runserver ..

2022/04/05 <Git 세션>

git 동작 과정 컴퓨터 -add-> stage(임시저장) -commit-> head(최종 업로드) 버전관리: 코드에 문제가 생겼을 때 이전 버전으로 돌아갈 수 있다 공동 작업: 하나의 프로젝트를 여러 명이 동시에 작업할 수 있다 오픈 소스: 다른 개발자들이 올려놓은 코드를 가져와 사용할 수 있다 remote==원격 저장소==repository local == 내 컴퓨터 안에 있는 저장소 branch : 독립적으로 작업을 진행할 수 있는 공간 main branch가 있고 개인 branch에서 작업 후 main branch에 merge ReadMe.md: 프로젝트의 설명서 git init git remote add origin 레포지토리 주소 git checkout origin 브랜치명 git status..