반응형

분류 전체보기 629

Django ORM 개요

ORM(Object-relational Mapping) : 객체지향 언어에서 서로 다른 시스템 간의 데이터 형식의 호환을 위해 데이터를 변환하고 맵핑(연결)해주는 방식 또는 기술을 의미함 → 웹 개발에서는 DB의 스키마(DB에 저장될 데이터 형태와 속성(메타 데이터)의 집합을 의미함)를 소스코드로 기술하고 재사용할 수 있도록 하는 것 ex) sqlite로 DB를 사용하다가 mySql로 DB를 변경할 때에도 코드는 거의 변경 없이 사용이 가능 ▶ 데이터를 서로 교류하는 시스템 간에 사용하는 언어가 다르거나 조금씩 데이터를 기술하는 방식이 달라 시스템에 변경되더라도 하나의 코드로 통합해서 사용할 수 있는 기술이 필요 ▶ 기존의 Object의 개념과 연결해서 하나의 클래스가 하나의 실제 시스템 자료구조에 연결..

Django/inflearn 2022.11.01

Model Form으로 데이터 저장하기

▶ 기존에 작성된 views.py는 내용을 작성해도 데이터가 넘어가지 않았음 from django.shortcuts import render from django.http import HttpResponseRedirect from second.models import Post from .forms import PostForm # Create your views here. def list(request): context = { 'items': Post.objects.all() } return render(request, 'second/list.html', context) def create(request): if request.method == 'POST': form = PostForm(request.PO..

Django/inflearn 2022.10.31

기본 폼 생성하기

from django import forms class PostForm(forms.Form): title = forms.CharField(label='제목', max_length=200) content = forms.CharField(label='내용', widget=forms.Textarea) ▶ models.py에서 모델 클래스를 선언하는 것과 유사하게 어떤 입력을 받을 것인지 forms.CharField와 같은 구문으로 정의함 ▶ 해당 field의 속성들을 소괄호 내에 label, max_length, widget 등으로 정함 ▶ content = forms.CharField(label="내용", widget=forms.Textarea) : 위젯 속성으로는 화면에 보여질 입력 칸의 형태를 정하게 되..

Django/inflearn 2022.10.20

화면에 데이터 출력하기

from django.shortcuts import render from second.models import Post # Create your views here. def list(request): context = { 'items' : Post.objects.all() } return render(request, 'second/list.html', context) ▶ list 메소드를 생성해 저장한 데이터를 items에 담고 Http에 request 시에 second/list.html파일이 열림 {% for item in items %} {{ item.title }} {{ item.content }} {% endfor %} ▶ items에 있는 값들을 for문을 통해 하나씩 출력 from django..

Django/inflearn 2022.10.04

데이터 생성

▶ python manage.py shell : Django shell을 이용해 대화형으로 실행 ▶ post = Post.objects.create(title="this is title", content="this is content") : Posts 메소드에 레코드 하나 저장 ▶ posts = Post.objects.all() : 생성된 레코드 전체 확인 ▶ posts[0].title : posts 배열의 첫 번째에 저장된 레코드 중 title 값 출력 ▶ 임의로 데이터 4개를 더 추가해 저장 ▶ 총 5개의 레코드 모두 출력됨을 확인

Django/inflearn 2022.10.02

MTV 패턴

웹 개발시 일반적으로 언급되는 패턴 MVC(Model - View - Controller) Model : 데이터 View : 사용자 인터페이스 Controller : 데이터를 처리하는 로직 Django에서 사용하는 패턴 MTV(Model - Template - View) Model : 모델 클래스, 데이터 객체 정의와 그 데이터 (models.py) Template : 사용자에게 보여지는 인터페이스 화면 (templates/*.html) View : 데이터를 가져오고 적절히 가공해 그 결과를 템플릿에 전달하는 역할 (view.py) http 요청과 응답의 흐름 클라이언트가 특정 주소로 요청을 보냄 → Django 웹앱에 요청이 들어옴 → url conf 모듈을 이용해 요청의 url을 확인함 → 해당 ur..

Django/inflearn 2022.10.01

모델 클래스 선언

▶ python manage.py startapp second : 기존의 웹앱과 구분하기 위해 second 웹 앱을 하나 더 생성 from django.db import models class Post(models.Model): title = models.CharField(max_length=30) content = models.TextField() created_at = models.DateTimeField(auto_now_add=True) updated_at = models.DateTimeField(auto_now=True) ▶ models.py에 모델들을 정의함 → title : 30자 이하의 문자열 → content : 긴 문자열 → created_at : 게시글 작성시(이 모델의 데이터 저장 시..

Django/inflearn 2022.09.30
반응형