inflearn logo
강의

강의

N
챌린지

챌린지

멘토링

멘토링

N
클립

클립

로드맵

로드맵

지식공유

<M.B.I.T> 테스트 페이지 만들기! with Django

templates 작성하기 3

선생님..... 이런 에러가 ..

314

Dasom Kim

작성한 질문수 6

0

HTML/CSS javascript django

답변 5

1

Hojun Lee

views.py의 result 함수에서 request.POST를 print 해보시고 아래와 같이 'question-1' 키값이 들어가 있는지 확인해보세요.

0

Dasom Kim

네 오늘 저녁에 해보겠습니다!! 

0

Dasom Kim

키 값이 안들어가있으면 어떻게 하면 좋을까요.......???

0

Hojun Lee

그렇다면 form 부분을 잘못 작성하신 것입니다.

(영상을 다시 보시고 작성하셔야 할 것 같네요.ㅜㅜ)

csrfmiddlewaretoken은 제대로 들어왔나요?

0

Dasom Kim

헉 폼......제가 그..... 올려주신 설명 사이트에 그대로 복붙 했는데ㅠㅠㅠㅠ

0

Dasom Kim

<!DOCTYPE html>

<html lang="en">

<head>

  <meta charset="UTF-8">

  <meta name="viewport" content="width=device-width, initial-scale=1.0">

  <title>form</title>

</head>

<body>

  <form action="/result/" method="post">

    {% csrf_token %}

    {% for question in questions %}

      <h3>{{ question.number }}번 {{ question.content }}</h3>

      {% for choice in question.choice_set.all %}

        <div>

          <input type="radio" name="question-{{ question.pk }}" id="choice-{{ choice.pk }}" value="{{ choice.developer.pk }}">

          <label for="choice-{{ choice.pk }}">{{ forloop.counter }}. {{ choice.content }}</label>

        </div>

      {% endfor %}

      <hr>

    {% endfor %}

    <input type="submit" value="제출하기">

  </form>

</body>

</html>

0

Hojun Lee

csrfmiddlewaretoken은 제대로 들어왔나요?

0

Dasom Kim

제가 코린이라 무슨말씀이신지 이해가 안갑니다 ㅠ

0

Hojun Lee

첨부해드린 이미지에 csrfmiddlewaretoken 값이 있어요. 이게 콘솔창에서 출력이 되고 있는지를 검사해 달라는 말씀이었습니다. :)

이는 views.py에서 해당 함수의 requests 값이 제대로 들어오고 있는지 확인하는 것이에요. 만약 제대로 들어오고 있지 않으면 html파일 문제가 아니라 views.py 파일 문제이기 때문에 그렇습니다.

0

Dasom Kim

from django.shortcuts import render

from .models import Question, Developer, Choice

def index(request):

    developers = Developer.objects.all()

    

    context = {

        'developers': developers,

    }

    

    return render(request, 'index.html', context=context)

def form(request):

    questions = Question.objects.all()

    context = {

        'questions': questions,

    }

    

    return render(request, 'form.html', context)

def result(request):

    

    # 문항 수

    N = Question.objects.count()

    # 개발자 유형 수

    K = Developer.objects.count()

    

    # 개발유형마다 몇 개인지 저장할 리스트 counter[1] = (1번 유형 점수(개수))

    counter = [0] * (K + 1)

    

    for n in range(1, N+1):

        developer_id = int(request.POST[f'question-{n}'][0])

        counter[developer_id] += 1

        print(request.POST)

        # 최고점 개발 유형

    best_developer_id = max(range(1, K + 1), key=lambda id: counter[id])

    best_developer = Developer.objects.get(pk=best_developer_id)

    best_developer.count += 1

    best_developer.save()

    

    context = {

        'developer': best_developer,

        'counter': counter,

    }

    

    return render(request, 'result.html', context)

0

Dasom Kim

선생님 뷰 코드인데 한번 확인 부탁드립니다 ㅠ-ㅠ 

아 이코드는 . . 영상강의에서 받아 적은대로 안되서

노션 페이지에서 올려둔 zip 파일에 저장되어 있는 코드를 가져왔습니다 

0

Hojun Lee

https://inf.run/uLoD 여기에 답변 남겨드렸습니다

0

Dasom Kim

키값이 13부터 들어가있어요 .... 몰까요 

0

Dasom Kim

0

Dasom Kim

form/페이지에서 선택하고 제출하기 누르면

결과페이지가 떠야하는데 에러가 납니다 ㅠ 

data.json 파일을 어디 올려놓은 건가요??

0

143

1

python manage.py dumpdata main --output data.json로 생성된 파일의 글자가 깨짐 문제

0

145

1

현재는 구름 ide 컨테이너 생성이 유료인가요? 시간당 크레딧이 필요합니다.

0

248

1

사이트 접속이 안돼요

0

231

1

첫화면 버튼이 css 적용이 안됩니다..

0

491

1

제출버튼 클릭하면 오류 발생

0

229

1

makemygrations 오류

0

243

1

자바스크립트 오류 관련해서 질문합니다.

0

679

1

장고 ORM 깃허브 업로드 관련 질문입니다.

0

417

1

결과 페이지 만들기 -js편 execCommand를 더이상 지원하지 않습니다.

0

1543

1

결과페이지 만들기 - css 강의 내 질문입니다.

0

297

0

테스트 사용자 이름을 결과페이지에 뜨게

0

269

0

js) 2/3 -> 3/3으로 안 넘어갑니다

0

318

1

질문지를 블록형태로 바꿀려면 어떻게 입력해야하나요??

0

252

1

제출 클릭 시 result로 못넘어가는 오류

0

346

1

구름 컨테이너 선택시 파이썬->장고 선택하면?

0

294

1

static.zip 링크가 없습니다!

0

242

1

display: flex 오류

0

571

0

안넘어가요.

1

345

1

다른 방식으로 구현하는 부분에 대한 질문입니다.

0

309

0

문항 클릭시 다음페이지로 넘어가게 할 수 있을까요?

0

592

1

uWSGI 소켓 설정 후에 프로젝트 화면 접근이 안 됩니다.

0

197

0

다 완성하고 배경색을 바꾸려고 하는데요

0

307

1

함수질문

0

246

1