Toy project django error 모음

jongeun·2022년 12월 29일

1. views에서 def를 만들고 pass를 넣어줬을때, 웹에서 아래와 같은 에러 발생

에러메세지
The view bibles.views.index didn't return an HttpResponse object. It returned None instead.

해결방법
return코드를 넣어주면 됨
단, 이전에는 pass넣는 경우 def작동하여 잘 열렸으나, 현재는 return값을 명시해야 되는 이유를 모르겠음.
아시는 분이 계시다면 댓글 부탁드립니다.

2. views.py에서 csv파일을 db에 저장하려 할 때, db 저장 되지 않고 터미널에서 아래 에러 발생

에러메세지
ImportError: attempted relative import with no known parent package

해결방법
runserver
⚠️⚠️⚠️⚠️그리고 가장 중요한것 !! 서버만 켰는데 안되서 이틀동안 스트레스 받았는데, 서버키고 def에 해당하는 Url로 접속해야 된다!!⚠️⚠️⚠️⚠️
(단. 해당하는 url새로침하는 경우(서버가 실행될때마다) db에 똑같은 데이터가 더해지므로, 아래 if 조건 절 추가 필요)

def index(request):
    item = Item.objects.all()

    if len(item) == 0:
        items_csv = open("bibles/bible3.csv", encoding="UTF-8")
        items_reader = csv.reader(items_csv)
        bulk_list = []
        for i in items_reader:
            bulk_list.append(
                Item(
                    content=i[0],
                    content_en=i[1],
                    vers=i[2],
                    vers_en=i[3],
                    keyword=i[4],
                )
            )
        Item.objects.bulk_create(bulk_list)

    context = {
        "item": item,
    }
    return render(request, "bibles/index.html")

참고링크(단비같은 해결방법이 적혀져 있는 링크, 도움 많이 받았다.)
1) https://stackoverflow.com/questions/70522086/django-model-importerror-attempted-relative-import-with-no-known-parent-package
2) https://wisenrich.com/%ED%8C%8C%EC%9D%B4%EC%8D%AC-%EC%9E%A5%EA%B3%A0-csv-%ED%8C%8C%EC%9D%BC-%EC%9D%BD%EA%B8%B0%EC%99%80-%EB%8D%B0%EC%9D%B4%ED%84%B0%EB%B2%A0%EC%9D%B4%EC%8A%A4db-sqlite3%EC%97%90-%EC%A0%80%EC%9E%A5/

3.random 모듈을 import했을 때, choice 또는 sample 속성이 없다고 나옴

에러메세지
AttributeError: 'module' object has no attribute 'choice'

해결방법
스크립트 이름을 random.py 처럼 모듈과 같은 이름으로 지정하면 안됨
스크립트 이름 변경

참고링크
https://stackoverflow.com/questions/25695412/module-object-has-no-attribute-choice-trying-to-use-random-choice

profile
기록으로 성장하는 개발자 되기

0개의 댓글