2012-05-11 12 views
0

私はDjangoの基本的なPollチュートリアルを終えました。私はここでいくつかのことを変えて、HotOrNot/FaceMashスタイルのサイトを作り出すことができることを認識しています。しかし、私はまだノーベルなので、私はそれのコンセプトを考え出すことができます - 私はそれを行う方法を知る方法はありません。つまり、投票のすべての選択肢を表示するのではなく、2つのランダムな選択肢(同じであってはならない)だけを表示するという概念です。また、コンピュータから一括アップロードする方法や、外部のストレージ/サーバーからすべての画像を投票の選択肢として取得する方法が必要です。誰も私にこのことを起こす方法を教えてもらえますか?どうもありがとうございました。Pollチュートリアルに基づいてDjangoでHotOrNot/FaceMashサイトを作成する方法は?

答えて

0

これは明らかではありませんが、試してみましょう。 2枚のランダム写真を比較して、どれがベストであるかをユーザーに選択させていただきたいと思います。 私はこれを行う簡単な方法の1つを考えています。必ずしも投票アプリケーションではありません。

まず、画像を保存するモデルを作成します。その後

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

代わりの投票を使用して、あなた自身の作る:たとえば

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

は、フォームを作成し、マッチインスタンス内の世論調査の結果を保存します。次に、同じ絵が人気があるどのくらい知って適用される

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

:絵がちょうど勝者か敗者が絵でマッチ行を探し、示された回数を知ることが 。それが勝者であることが多い場合は、それが見栄えが良いと仮定することができます。お役に立てれば。

+0

返信いただきありがとうございます。私はあなたのコードについていくつか質問があります。 – user14412

+0

とにかく、私の質問は:ImageFieldは画像をアップロードするために使用されていませんか?それとも、画像の表示にも使用されていますか?データベースに保存されているユーザーがアップロードしたすべての画像をすでに持っているので、データベースから2枚のランダムな画像を表示して投票を記録するだけです。 – user14412

+0

ImageFieldは実際に画像をアップロードするために使用され、次にそれらを表示することができます。画像が既にインターネットから見えるフォルダにある場合は、代わりにURLFieldを使用してURLを画像に埋め込むこともできます。 イメージがアップロードされてデータベースに保存されている場合は、2つのランダムイメージとラジオフォームを表示するだけです。次に、投票結果を保存し、選択した画像を__winner__属性に入れ、もう1つを__loser__に入れます。 –

関連する問題