분류 전체보기 153

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/..

Web/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..

Web/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..

Web/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 %} ..

Web/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..

Web/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..

Web/Django 2024.08.14

url 변수, 앱 분리, Naming URL Patterns(장고)

1. Variable Routing2. 다중 앱3. Naming URL Patterns  1. url 변수(Variable Routing): URL 일부를 변수로 지정하여, 해당 부분에 들어온 값을 view로 넘겨주고, view에서 변수를 받아서 그 부분에 맞게 처리하도록 할 수 있음.→ 하나의 URL에 마음껏 여러 페이지 연결 가능 2. 다중 앱(Multiple Apps): 하나의 프로젝트는 여러개의 앱으로 구성됨. 각각의 기능별로 나누어서 App으로 분리하는 것이 좋은 구조 Urls 분리하기django가 기본적으로 생성해주지 않기 때문에 직접 생성해야 함각각의 app 폴더 안쪽에 urls.py 이름으로 파일 생성# urls.py 기본 세팅 from django.urls import pathurlpat..

Web/Django 2024.08.13

Django GET 메서드 기초

1. 아래 그림과 같이 data_throw.html 생성 및 urls.py에 path추가, views.py에 data_throw함수 추가해줌(모르겠으면 이전 글 보기) 2. data_throw.html 아래와 같이 수정  태그: 버튼, 텍스트, 드랍다운, 선택 등 웹에서 유저에게 데이터를 입력받는 여러가지 형식을 제공. 또한, 유저의 데이터를 서버로 전송하는 역할 담당.action: 어디로 데이터를 보낼건지 주소 설정. 작성이 안되어 있거나, action = "" 이렇게 빈 문자열을 넣으면 디폴트 값은 현재 페이지method: GET, POST, PUT, DELETE 등의 어떤 Http Method인지 결정해줌. 이때 Http Method란,  HTTP에서 수행할 작업을 나타냄. 디폴트 값은 GET  태..

Web/Django 2024.08.12

MTV 패턴(Django)

0. MTV 패턴은 MVC 패턴을 살짝 변형한 것 MVC 디자인 패턴Model - View - Controller 이렇게 3파트로 나누어져있음데이터와 논리 구조를 제어하는 설계로 널리 사용되는 디자인 패턴 중 하나→ 하나의 큰 소프트웨어를 나눠서 생각해보기 위해서 등장한 패턴역할Model : 데이터와 관련된 로직을 관리View : 레이아웃과 관련된 화면을 처리Controller : Model과 View를 연결하는 로직을 처리MVC vs MTVMVCMTVModelModelViewtemplateControllerView MTV PatternModelMVC에서의 Model데이터와 관련된 로직을 처리→ 데이터 구조 정의, 데이터베이스 기록 관리TemplateMVC에서의 View레이아웃과 화면상의 로직을 처리→즉..

Web/Django 2024.08.09