2010-12-05 6 views
39

request.POST['xzy']을 사용하여 다중 선택 확인란의 값을 가져 오려고합니다. 내 모델과 템플릿 코드는 다음과 같습니다.장고의 체크 박스에서 여러 값을 얻는 방법

내 모델

class Recommend(models.Model): 
    user=models.ForeignKey(User) 
    book=models.ForeignKey(BookModel) 
    friends=models.ManyToManyField(User, related_name="recommended") 

내 템플릿

{% for friend in friends %} 

<input type="checkbox" name="recommendations" id="option{{friend.id}}" value={{friend.username}} /> 
<label for="option{{friend.id}}"><b>{{friend.username}}</b></label><br /> 

{% endfor %} 

내보기 코드 여기

if request.method == 'POST': 
    recommendations=request.POST['recommendations'] 

내가 원하는 'RECOM mendations '를 모든 친구 ID를 포함하는 목록으로 만들지 만 여기서는 덮어 쓰기 만하고 마지막 for 루프 반복에 할당 된 값만 포함합니다. 이 문제를 어떻게 해결할 수 있습니까? 필사적으로 도움이 필요합니다. 고맙습니다.

답변

93
request.POST.getlist('recommendations') 
+1

감사 남자는 그냥 미친가는 나를 구원 @! – JREAM

+0

@KiranRuthR 템플릿에서 getlist를 사용하지 마십시오. views.py에서 사용합니다. –

+0

내 하루를 저장했습니다! : 3 –

1
if not request.POST.has_key(strName): 
     return ""  
    if request.POST[strName]: 
     return ','.join(request.POST.getlist(strName))   
    else: 
     return "" 
관련 문제