하루에 한 번씩 네이버 뉴스 IT/과학 탭의 헤드라인 뉴스 5개를 크롤링하여 제공하려고 했다
이 파일은 장고 서버와 별도로 실행되지만 데이터베이스에 저장되어야 했다
처음엔 같은 프로젝트 폴더에 있어서 모델을 불러와서 사용하려고 시도했다
...
from posts.models import Headline
...
def headline_summary():
...
Headline.objects.create(
url=url,
title=title,
summery=summary,
)
위과 같이 사용하고 파일을 실행시켰을 때 다음과 같은 오류가 발생하였다
raise ImproperlyConfigured(
django.core.exceptions.ImproperlyConfigured: Requested setting INSTALLED_APPS, but settings are not configured. You must either define the environment variable DJANGO_SETTINGS_MODULE or call settings.configure() before accessing settings.
이 오류는 Django 프로젝트 외부에서 Django에 등록된 모델이나 기능을 사용할 때 발생하는 오류였다
따라서
...
# 1번 파일이 실행될 때 환경변수에 현재 자신의 프로젝트의 settings.py파일 경로를 등록.
import os
os.environ.setdefault("DJANGO_SETTINGS_MODULE", "SIBI_NEWS.settings")
# 2번 실행파일에 Django 환경을 불러오는 작업.
import django
django.setup()
from posts.models import Headline
...
위와 같이 코드를 추가해주어 프로젝트의 모델을 사용할 수 있도록 설정해준 후
파일을 실행시켰을 때 데이터베이스에 저장되는 것을 확인할 수 있었다
'[내일배움캠프]스파르타코딩클럽 AI 웹개발 > Today I Learned' 카테고리의 다른 글
[TIL] 프로젝트 기획 및 Open API 활용 전략 수립 (0) | 2024.09.23 |
---|---|
[TIL] 뉴스 API 서버 프로젝트 마무리 및 OpenAI 연동 기능 구현 (0) | 2024.09.20 |
[TIL] trouble shooting - like count (0) | 2024.09.15 |
[TIL] trouble shooting - serializer.data (0) | 2024.09.12 |
[TIL] project setting (0) | 2024.09.11 |