카테고리 없음

내일 배움 캠프 최종 프로젝트

하늘유니콘 2023. 6. 10. 00:35

오늘 배운거: 질문 목록 구현하기,질문목록 구현 중에 에러, model을 수정할 때마다 마이그레이션으로 업데이트 하기

 

 

작업 하기 전에 파워 셀로 데이터를 입력

 

models.py

from django.db import models

class Question(models.Model):
    counsel_id= models.CharField(max_length=200)# 질문의 고유한 식별자를 나타내는 문자열 필드
    content = models.TextField()# 질문 내용을 담는 긴 텍스트 필드
    user_id = models.DateTimeField() # 질문 작성자의 날짜와 시간 정보를 담는 필드

    
     # Question 객체가 문자열로 표현될 때 counsel_id를 반환하는 메서드

    def __str__(self):
        return self.counsel_id
    
class Answer(models.Model):
    question= models.ForeignKey(Question, on_delete=models.CASCADE)# 질문의 고유한 식별자를 나타내는 문자열 필드
    content = models.TextField()# 질문 내용을 담는 긴 텍스트 필드
    user_id = models.DateTimeField() # 질문 작성자의 날짜와 시간 정보를 담는 필드

 

파워셸로 처음으로 자료를 참고를 해서 처음으로 파워셀을 실행해봤습니다.

장고에서 제공해주는 아드민 사이트가 있는데 데이터를 확인 할 때 좋습니다.

 

장고셸은 데이터 기입할 때는 좋지만 단점으로는 오타가 많을 수 밖에 없습니다.

터미널 창이 너무 적어서 오타가 많은 작업이라서 신중하게 차근차근 해야됩니다.

 

나는 1시간 걸렸다는 점이.....눈이 어지럽습니다.

 

계획 할 때 모델이 정해져있는데로 기입

 

q = Question(counsel_id='테스트 입니다.', content='테스트 내용입니다.', usesr_id=timezone.now())

 

앤서 모델도 위에 작업처럼 하면 됩니다.

몰론 텍스트 이름은 바꿔줘야 겠죠.

 

views.py

from django.shortcuts import render
from .models import Question

def index(request):
    """
    counsel 목록 조회
    """
    question_list = Question.objects.order_by('-user_id')  # Question 모델의 객체들을 user_id를 기준으로 내림차순으로 조회합니다.
    context = {'question_list': question_list}
    return render(request, 'counsel/question_list.html', context)  # counsel/question_list.html 템플릿에 question_list를 전달하여 렌더링합니다.

def detail(request, question_id):
    """
    counsel 내용 조회
    """
    question = Question.objects.get(id=question_id)  # 주어진 question_id에 해당하는 Question 객체를 조회합니다.
    context = {'question': question}
    return render(request, 'counsel/question_detail.html', context)  # counsel/question_detail.html 템플릿에 question을 전달하여 렌더링합니다.

 

목록 조회와 내용 조회를 추가했습니다.

 

PR을 위해서 주석을 처리했습니다.

 

여기서 공통점은  render로 화면 출력한거라서 템플릿 파일을 이용하기 위해서 사용을 해봤습니다.

 

 

문제는 여기서 에러 사항이 있습니다.

 

에러: TemplatesNotExist at counsle/2/ 

 

에러 해결: 코드를 분석하고 models.py 검토했는데 코드에는문제 없어보여서 Templates에 문제 있다고

페이지 오류화면에서 코드가 있어서 파악을하고 분석을 함 템플릿 파일이름 보니까 

 

question_detail.html이 questiom_detail.html이 되어서 question_detail.html으로 고치고 나서 새로고침 클릭하니까 해결이 됨