inflearn logo
강의

강의

N
챌린지

챌린지

멘토링

멘토링

N
클립

클립

로드맵

로드맵

지식공유

파이썬/장고 웹서비스 개발 완벽 가이드 with 리액트 (장고 4.2 기준)

04-13 Song 모델에 slug 지원 추가하기

이번 강의에서는 SONG이라는 sqlite3 데이터베이스를 import 하지 않았는데 데이터가 혹시 어디서 불러진 건가요???

197

meyou1218

작성한 질문수 16

0

model.py를 보면 Song클래스가 정의되었는데 데이터가 어디서 불러와 졌는지를 잘 모르겠습니다ㅠ 도움 부탁드립니다.

from __future__ import annotations
from datetime import date
from typing import Dict
from urllib.parse import quote
from django.db import models
from django.utils.html import format_html


# 파이썬 3.7부터 지원
# @dataclass
class Song(models.Model):  # 장고 모델 아니고 일반 파이썬 클래스!
    melon_uid = models.CharField(max_length=20, unique=True)
    rank = models.PositiveSmallIntegerField()
    album_name = models.CharField(max_length=100)
    name = models.CharField(max_length=100)
    artist_name = models.CharField(max_length=100)
    cover_url = models.URLField()
    lyrics = models.TextField()
    genre = models.CharField(max_length=100)
    release_date = models.DateField()
    like_count = models.PositiveIntegerField()

    @property
    def cover_image_tag(self):
        return format_html('<img src="{}" style="width: 50px;">', self.cover_url)

    @property
    def melon_detail_url(self) -> str:
        melon_uid = quote(self.melon_uid)
        return f"https://www.melon.com/song/detail.htm?songId={melon_uid}"

    @property
    def youtube_search_url(self) -> str:
        search_query = quote(f"{self.name}, {self.artist_name}")
        return f"https://www.youtube.com/results?search_query={search_query}"

    @classmethod
    def from_dict(cls, data: Dict) -> Song:
        return cls(
            melon_uid=data.get("곡일련번호"),
            rank=int(data.get("순위")),
            album_name=data.get("앨범"),
            name=data.get("곡명"),
            artist_name=data.get("가수"),
            cover_url=data.get("커버이미지_주소"),
            lyrics=data.get("가사"),
            genre=data.get("장르"),
            release_date=date.fromisoformat(data.get("발매일")),
            like_count=int(data.get("좋아요")),
        )

react python django web-api htmx

답변 1

0

이진석

안녕하세요.

db.sqlite3 데이터베이스는 settings 의 DATABASES 설정을 통해, 디폴트 데이터베이스로서 그 경로가 지정되어있습니다.

image

장고 모델을 사용한 쿼리셋 등을 통해 SQL 쿼리를 자동 생성/수행하구요. 이때 장고에서 디폴트 데이터베이스로 자동으로 연결을 맺습니다.

0

meyou1218

아하 감사합니다~!

Django의 View나 URL의 네이밍 컨벤션

0

60

1

08-14 FormView 관련 질문

0

72

1

07-01 IPv4AddressIntegerField 질문

0

82

1

14-08 수업 확인 요청 드립니다.

0

91

2

nextjs git 관리?

0

75

1

14-07에서 SESSION_COOKIE_DOMAIN = None 처리 필요.

0

75

2

고민

0

219

3

django-component==0.139 실행 시 오류

0

167

2

django-csp 4.0 migration 관련

0

122

2

01 윈도우 개발환경 설치 문의

0

99

1

강의 자료 문의

0

129

2

선생님 학습 방법 질문이 있습니다.

0

154

2

bulk_update에서 updated_at 필드

0

124

1

정규표현식

0

107

2

선생님 질문 있습니다.

0

80

1

공유자님 이 강의 공부 방법에 대한 질문입니다.

0

181

2

mydjango.py 질문 있습니다.

0

147

3

Django-Components의 0.128 세팅

0

226

3

질문 아님.

0

127

1

mydjango.py 실습 질문있습니다.

0

87

2

pycharm 개발환경 설정 오류

0

181

2

강의 듣다가 유료pycharm에 비해 vscode지원기능이 아쉬워서 확장프로그램 만들었는데 여기 공유해도 될까요?

0

167

1

중단점에 대한 질문 있습니다.

0

132

2

todo / react 붙이는 깃주소를 받고 싶습니다.

0

179

6