반응형

web 82

C : 게시글 등록 구현하기

from django.forms import ModelForm from third.models import Restaurant from django.utils.translation import gettext_lazy as _ class RestaurantForm(ModelForm): class Meta: model = Restaurant fields = ['name', 'address'] labels = { 'name': _('이름'), 'address': _('주소'), } help_texts = { 'name': _('이름을 입력해주세요.'), 'address': _('주소를 입력해주세요.') } error_messages = { 'name': { 'max_length': _('이름이 너무 깁니다. ..

Django/inflearn 2022.11.09

R : 페이지 구현하기

▶ django shell을 이용해 Restaurant 클래스에 정보를 10개 추가 ▶ 이전에 존재하던 정보들에 이어서 동일한 정보를 가진 카드 10개가 추가적으로 생성된 모습 from django.shortcuts import render from third.models import Restaurant from django.core.paginator import Paginator # Create your views here. def list(request): restaurants = Restaurant.objects.all() paginator = Paginator(restaurants, 5) page = request.GET.get('page') items = paginator.get_page(pag..

Django/inflearn 2022.11.08

R : 리스트 구현하기

from django.shortcuts import render from third.models import Restaurant # Create your views here. def list(request): context = { 'restaurants': Restaurant.objects.all() } return render(request, 'third/list.html', context) ▶ context = { 'restaurants' : Restaurant.objects.all() } : restaurant 변수에 Restaurant 클래스에 있는 모든 객체 값을 넣음 ▶ return render(request, 'third/list.html', context) : 페이지가 렌더링 되면서 vie..

Django/inflearn 2022.11.07

데이터 수정/삭제하기

▶ item = Restaurant.objects.get(pk=1) : pk=1번 값의 객체를 Restaurant 클래스에서 가져와 item 인스턴스에 넣음 ▶ item.name : item 인스턴스에 저장된 객체들 중 name 필드를 출력 → 'Deli Shop'이 출력됨 ▶ item.name = 'My shop' : item 인스턴스에 저장된 객체들 중 name 필드의 값을 'My Shop'으로 수정함 → 기존에 저장되어 있었던 'Deli Shop'에서 'My Shop'으로 변경됨 ▶ item.sav() : save를 호출해야 실제로 값이 저장됨 ▶ Restaurant.objects.filter(id=1).values() : Restaurant 클래스에서 id 값이 1번인 객체를 가져와 value 값..

Django/inflearn 2022.11.06

Column Lookup으로 복잡한 조건 탐색하기

Column(Field) Lookup → Filter 조건을 사용하면 좀 더 복잡한 조건도 조회할 수 있음 → filter, exclude 혹은 get 메소드 내에 검색을 원하는 필드명과 field lookup을 붙여서 값을 전달 → 형태 : {field명}__{조건 키워드(lookup type)} ▶ python manage.py shell : manage.py를 쉘로 실행 ▶ from third.models import Restaurant : third 웹 앱에 있는 models.py 파일에서 Restaurant class를 불러옴 ▶ Restaurant.objects.filter(name='Korean Food') : Restaurant 클래스에 있는 객체들 중 name 필드가 'Korean Foo..

Django/inflearn 2022.11.05

페이징하기

▶ [start:end] : 레코드를 읽기 시작하는 위치(start)부터 레코드를 어디까지 읽을지(end) 지정 ▶ start : 레코드를 읽기 시작하는 위치 (0 이상의 값) ▶ end : 레코드를 어디까지 읽을지 지정 (start보다 큰 값) ▶ Restaurant.objects.order_by('created_at') : created_at을 기준으로 가장 처음부터 정렬 ▶ object 뒤 값이 클수록 최신을 의미함 ▶ Restaurant.objects.order_by('-created_at') : -는 역순을 의미해 최신순으로 정렬 ▶ Restaurant.objects.order_by('-created_at')[1:3] : 출력되는 Query Set 중에서 1번 위치부터 3번 레코드까지 출력 ▶ ..

Django/inflearn 2022.11.04

데이터 필터링하기

▶ 데이터를 조회할 때 원하는 데이터만 불러오도록 메소드로 filter, exclude를 사용 ▶ Restaurant.objects.filter(name='Deli Shop').values() : name이 Deli Shop인 객체의 값만 출력 ▶ Restaurant.objects.exclude(name='Sushi').values() : name이 Sushi인 객체만 제외하고 나머지 값만 출력 위 메소드들은 QuerySet을 리턴함 ▶ QuerySet은 실제 데이터를 읽기 전까지 DB에서 실행되지 않기 때문에 chaining이 가능 → Query는 질의라는 뜻으로 DB에 어떤 데이터를 받아오고 싶은지 조건 정의하는 것을 의미

Django/inflearn 2022.11.03
반응형