0

私はDjangoを初めて使用し、最初の優れたアプリを作成しようとしています。複雑さの低いWebサイトを再構築することにし、http://trailertrack.me/を選択しました。

どの手順を踏むべきか教えていただけませんか。

現在、私のviews.pyファイルは次のようになっています(現時点では特定のビデオを1つだけ表示しようとしています)。

from django.http import HttpResponse
from django.shortcuts import render_to_response
import gdata.youtube
import gdata.youtube.service

yt_service = gdata.youtube.service.YouTubeService()
yt_service.ssl = True

def index(request):
    message = "Welcome, and enjoy the show!"
    context = {
            'message': message,
    }
    return render_to_response('index.html', context)

def video(request):
    t = loader.get_template('index.html')
    specificentry = yt_service.GetYouTubeVideoEntry(video_id='1g4PLj0PlOM')
    return HttpResponse(t.render(specificentry))

アドバイスありがとうございます!

4

1 に答える 1

0

さて、これが私がこれを行う方法の大まかな概要です。順序はそれほど重要ではありません。それらの間には明らかにいくつかの依存関係がありますが、それらに取り組みたいと思う順序でそれらを実行してください。

また、これに慣れていない場合は、 gitを使用するか、すでに慣れている場合は、バージョン管理にMercurialを使用し、依存関係を追跡するためにvirtualenv使用することを強くお勧めします。

  1. 現在のビューを機能させて、妥当な外観のテンプレートなどを使用して1つの特定のビデオを表示できるようにします。
  2. 複数の動画を表示する方法を追加します。これを行う簡単な方法の1つは、基本的にYouTube IDだけを使用して、ビデオ用の単純なDjangoモデルを作成し、管理サイトをオンにして、ビデオを手動で追加できるようにすることです。
  3. 読み込みごとにランダムな動画を表示するようにします。
  4. ページをリロードするだけの「次へ」ボタンを追加します。djangoセッション変数/GET変数を使用して、同じビデオが再び表示されないようにするか、ビデオがたくさんある場合に問題になるほど頻繁には発生しないと想定することができます。
  5. Youtubeから(半)自動的に新しいビデオを取得する方法を追加します。これを行う1つの方法:
    • ビデオモデルに「公開済み」フィールドを追加し、ユーザー向けサイトに公開済みビデオのみを表示させます。
    • Youtubeで「予告編」などを検索し、データベースに新しい動画(未公開)を追加する管理コマンドを作成します。(少なくとも重複するIDを確認してください。)数時間または数日ごとなど、cronで自動的に実行します。
    • 定期的に管理者にアクセスして、新しい動画を追加してください。必要に応じて、メタデータ、視聴できる実際の動画、システム内で重複している可能性のあるその他の動画、およびAJAXとともに、ページ上の保留中の動画の束を表示するカスタム管理ビューを作成できます。公開および削除ボタン。(重複することは少し難しいです!おそらく、メタデータに対してtf-idf重み付けを行うだけで、類似したビデオを見つけることができます。
  6. ユーザーがログインする方法(デフォルトのDjangoユーザーシステム、Facebook / Twitter統合など)を追加し、ビデオを高く評価/賛成/おそらく反対します。これらを覚えておいてください。何らかの形の協調フィルタリングを使用して、ビデオの推奨事項を追加します。
  7. これで、元のサイトよりも多くの機能が利用できるようになりました。他のいくつかのクールなものを考えて、それらも実装してください。:)
于 2012-04-12T23:56:33.903 に答える