분류 전체보기 147

Admin

01. 관리자 페이지 (Admin Site) 01. 관리자 페이지 (Admin Site) Django의 Admin SiteDjango는 기본적으로 관리자 사이트를 제공하고 있음Django Framework를 선택하는 이유가 되기도하는 강력한 장점 중 하나직접 record를 조회, 생성, 수정, 삭제할 수 있는 모든 기능을 제공이외에도 각종 권한 부여를 해서 제한하거나, 페이지 자체를 커스텀 하는 것도 가능path("admin/", admin.site.urls),이렇게 정의하고 admin경로에 들어가보면직접 사용해보기admin 계정 생성(이미 생성했겠지만...)python manage.py createsuperuser최소 is_staff 권한이 필요합니다. → DB에서 해당 값을 1로 바꿔주면 됨 admi..

Django 2024.08.19

Django Static, Media(runserver)

01. Static Files02. Media Files03. runserver Static Files정적 파일(멈춰있는 파일)을 의미서비스 로직에서 별도의 처리 없이 보여주기만 하면 되는 파일서비스 이미지 파일(로고, 광고 이미지 …)자바스크립트파일, CSS 파일 등이러한 서비스 로직과 다르게 그냥 무조건 주기만 하면 되는 파일들이기 때문에 모아서 따로 제공할 수 있음  STATIC_URLstatic 파일을 참조할 때 사용할 url개발 단계에서는 app/static 경로 및 settings의 STATICFILES_DIRS 에 정의된 경로 참조실제 디렉토리 경로가 아님에 주의 ! URL로만 존재하는 경로STATIC_ROOT배포를 위해 정적 파일을 수집하는 디렉토리의 절대경로django 프로젝트에서 사용하..

Django 2024.08.19

회원기능 구현하기

01. 회원가입02. 회원탈퇴03. 정보 수정04. 비밀번호변경   01. 회원가입 Django는 기본 auth.User를 가지고 있기에 이를 기반으로한 기본적인 회원가입 ModelForm을 제공UserCreationFormusername과 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 djan..

Django 2024.08.19

Auth

01. Auth02. 쿠키(cookie)와 세션(session)03. Django의 Authentication System  01. Auth: 인증(Authentication)과 권한(Authorization)을 합쳐서 Auth인증(Authentication) : 내가 누구인지를 입증하는 것권한(Authorization) : 수행할 수 있는 자격 여부  02. 쿠키(cookie)와 세션(session) HTTP 특징비연결지향 (Connectionless)한 번 요청에 대한 응답을 하면 연결이 끊어짐무상태(Stateless)연결이 끊어지면 통신이 끝나고 서로를 잊어버림모든 메세지는 독립적만약 쿠키와 세션이 없다면?이전의 요청을 기억하지 못하게 됨따라서 요청을 보낼 때 마다 매번 로그인을 해야 함쿠키(Coo..

Django 2024.08.17

URL Namespace / Templates Namespace (Django 플젝 시작 시 유의사항)

1. URL Namespace2. Templates Namespace 1. URL Namespace: 어느 소속의 URL인지 밝히는 것# articles/urls.pyfrom django.urls import pathfrom . import viewsurlpatterns = [ ... path("hello/", views.hello, name="hello"), ...]# users/urls.pyfrom django.urls import pathfrom . import viewsurlpatterns = [ ... path("hello/", views.hello, name="hello"), ...]만약 articles/urls.py에도 hello/ url이 있고, users/..

Django 2024.08.16

Django Form, Django Model Form

01. Django Form Class02. Django Model Form Class   01. Django Form Class:  django는 일부 반복되는 작업과 코드를 줄일 수 있는 django form을 제공(form, view, 유효성 등) 디테일한 부분 구현이 필요하다면 직접 구현하는게 좋음.  Form 선언# articles/forms.pyfrom django import formsclass ArticleForm(forms.Form): title = forms.CharField(max_length=10) content = forms.CharField()Model 선언과 비슷하게 Form에서 입력받고자 하는 데이터에 대한 명세를 작성→ 형식이나 속성도 일부 Model과 비슷  F..

Django 2024.08.16

Django MTV 사용하기 (RUD)

1. redirect redirect : render함수로 새로운 html에 접근불가html만 다른 템플릿으로 랜더링 했을뿐, 실제로 url이 이동해서 GET 요청을 보낸 것이 아님redirect는 지정한 URL로 되돌리는 것우리가 웹 사이트를 이용하면서 많이 봐왔던 동작 방식from django.shortcuts import render, redirect...def create(request): title = request.POST.get("title") content = request.POST.get("content") article = Article(title=title, content=content) article.save() return redirect("articles")PRG (Po..

Django 2024.08.14

Django MTV 사용하기(CR, DB 조회 역순, CSRF)

조회(by 웹사이트)view에서 model에 접근해 모든 아티클 가져오기view에서 가져온 아티클을 template으로 넘기기from .models import Article...def articles(request): articles = Article.objects.all() context = { "articles": articles, } return render(request, "articles.html", context) ...template에서 넘어온 context 보여주기{% extends "base.html" %}{% block content %} Articles {% for article in articles %} ..

Django 2024.08.14

ORM(Django)

01. ORM02. Database API03. CRUD with Shell04. CRUD   01.ORM(Object-Relational-Mapping): 객체 지향 언어에서는 클래스를 이용한 객체로 데이터와 기능을 캡슐화해서 다루고 데이터베이스는 테이블과 행으로 데이터를 저장하고 관리하는데 이 두가지 사이의 개념적인 간극을 줄인것 - 쉽게말해 파이썬으로 데이터베이스를 조작할 수 있게 해줌  - 종류Python - Django ORM, SQLAlchemy, Tortoise ORM …JAVA - JPA, Hybernate …Node.js - Sequalize …Django의 ORM: SQL 안쓰고 Python으로 데이터베이스 조작할 수 있음.SQL Statement ↔ ORM ↔ Python Object..

Django 2024.08.14

모델 및 마이그레이션

1. 모델(Model)2. 마이그레이션(Migration) 1. 모델(Model): 저장할 데이터에 대한 필드와 동작들을 포함한 데이터베이스 구조 (layout)Django는 Model을 이용해서 데이터를 조작일반적으로 하나의 Model은 하나의 데이터베이스 테이블을 의미Model 작성해보기 - models.pyfrom django.db import modelsclass Article(models.Model): passmodels.Model을 상속받아서 사용하고자 하는 데이터 스키마를 정의합니다.모든 모델은 models.Model의 서브 클래스로 표현합니다. - 필드 추가하기from django.db import modelsclass Article(models.Model): title = mo..

Django 2024.08.14