2012-05-11 4 views
0

Django의 기본 설문서 튜토리얼을 살펴 보았습니다. 여기저기서 몇 가지 사항을 변경하고 HotOrNot/FaceMash 스타일 사이트를 만들 수 있다는 것을 알고 있습니다. 그러나, 나는 여전히 멍청한 녀석이기 때문에, 나는 단지 그것의 개념을 생각해 낼 수있다 - 나는 그것을 할 수있는 방법이 없다. 따라서 설문 조사에 대한 모든 선택 사항을 표시하는 대신 두 개의 임의 선택 사항 (동일하지 않아야 함) 만 표시하는 것이 개념입니다. 또한 컴퓨터에서 일괄 업로드하거나 외부 저장소/서버에서 모든 이미지를 선택하여 설문 조사에 가져올 수있는 방법이 필요합니다. 아무도 이것이 일어날 수있는 방법을 말해 줄 수 있습니까? 고맙습니다.투표 자습서를 기반으로 장고로 HotOrNot/FaceMash 사이트를 만드는 방법은 무엇입니까?

답변

0

글쎄, 이건 분명하지 않지만 한번 시도 해보자. 2 개의 임의 사진을 비교하고 사용자가 어떤 사진을 가장 좋게 선택할지 생각해보십시오. 설문 조사 앱과는 달리이 작업을 수행하는 간단한 방법이 있습니다.

먼저 이미지를 저장할 모델을 만듭니다. 예를 들어 양식을 확인

class Match(models.Model): 
    winner = models.ForeignKey('yourapp.Image') 
    loser = models.ForeignKey('yourapp.Image') 

과 일치 인스턴스에서 여론 조사의 결과를 저장 :

class Image(models.Model): 
    picture = models.ImageField("Face picture", max_length=255, upload_path=<your upload path function>) 

은 그런 대신 설문 조사를 사용하는, 당신이 자신합니다.

times_shown = Match.objects.filter(Q(winner=pic)|Q(loser=pic)).count() 

그런 다음 같은이 사진이 인기가 얼마나 알고 적용 는 승자 나 패자가 그림입니다 만 일치 행을 찾아 사진이 표시 된 횟수를 알아야합니다. 그것이 종종 승자라면, 당신은 그것이 좋은 모습이라고 가정 할 수 있습니다. 희망이 도움이됩니다.

+0

답장을 보내 주셔서 감사합니다. 그래도 코드에 대해 몇 가지 질문이 있습니다. – user14412

+0

죄송합니다. 어쨌든, 내 질문은 : ImageField 이미지를 업로드하는 데 사용되지 않습니다? 또는 이미지 표시에도 사용됩니까? 이미 데이터베이스에 저장된 사용자가 업로드 한 모든 이미지가 있다고 가정하면 데이터베이스에서 2 개의 임의 이미지를 표시하고 투표를 기록하면됩니다. – user14412

+0

이미지를 실제로 업로드하는 데 ImageField를 사용하면 이미지를 표시 할 수 있습니다. 이미지가 인터넷에서 볼 수있는 폴더에 이미있는 경우 URLField를 대신 사용할 수 있습니다.이 URLField를 사용하여 그림의 URL을 채울 수 있습니다. 이미지가 업로드되어 데이터베이스에 저장되면 2 개의 무작위 이미지와 라디오 양식 만 표시하면됩니다. 그런 다음 투표 결과를 저장하고 선택한 그림을 __winner__ 속성에 넣고 다른 그림을 __loser__에 넣습니다. –

관련 문제