2014-12-06 3 views
0

내 view.py에서 다음과 같은 배열비교 값

chapter = 5 
number_of_chapters = 5 
selected_chapters = list() 
for index in range(1, number_of_chapters+1): 
    selected_chapters.append(index) 
return render(request, 'verses.html', {'chapter': chapter, 'selected_chapters': selected_chapters}) 

그러나 그것은 결코 사실 반환 한

템플릿

<select name="c" id="chapter" value="{{ chapter }}" onchange="bible_search(true);"> 
    <option value="1">Chapter</option> 
    {% for c in selected_chapters %} 
     <option {% if c == chapter %} selected {% endif %} value="{{ c }}">{{ c }}</option> 
    {% endfor %} 
</select> 

문자열을 int로 변환해야하는지 궁금합니다.

답변

0

나를 위해 잘 작동하므로 전체 코드를 게시하지 않은 것 같습니다. 제시 한 코드를 사용하여 해당 뷰에서 렌더링 된 페이지로 이동하면 5 값이 선택된 select이 나타납니다. 그게 네가 원하는거야? 이것은보기 나 템플릿에 충돌이 있음을 나에게 암시합니다.

여기에 HTML select 요소는 value 속성이 없으므로 제거해야합니다. 두 번째로 동일한 값을 가진 두 개의 요소가 있습니다. 다음은 브라우저에서 렌더링 된 HTML입니다.

<select name="c" id="chapter" value="5" onchange="bible_search(true);"> 
    <option value="1">Chapter</option> 
    <option value="1">1</option> 
    <option value="2">2</option> 
    <option value="3">3</option> 
    <option value="4">4</option> 
    <option selected="" value="5">5</option> 
</select> 
+0

내 코드와 내가 제공 한 샘플의 유일한 차이점은 데이터베이스에서 챕터 수가 검색된다는 것입니다. 이 부분을 int로 변환해야하는 곳입니다. 이제 작동합니다. – Jon