Django中的随机预告片应用程序

时间:2012-04-12 23:31:13

标签: django youtube

我是Django的新手,我正在尝试构建我的第一个好应用程序。我决定尝试重建低复杂度的网站,并选择:http://trailertrack.me/

我想知道你是否可以告诉我采取了哪些步骤。

现在,我的views.py文件看起来像这样(我现在只想显示一个特定的视频):

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))

感谢您的建议!

1 个答案:

答案 0 :(得分:0)

好的,这是我如何做到这一点的大致轮廓。订单无关紧要;显然它们之间有一些依赖关系,但是按照你想要处理它们的顺序来做它们。

此外,如果您是新手,我强烈建议您使用git,或者,如果您已经熟悉它,mercurial进行版本控制,{{3}跟踪依赖关系。

  1. 让您当前的观看次数有效,以便您可以看到具有合理外观模板的特定视频,等等。
  2. 添加一种方式来显示多个视频。一个简单的方法是为视频创建一个简单的Django模型,基本上只是一个YouTube ID,并打开管理站点,以便您可以手动添加视频。
  3. 让视图在每次加载时显示随机视频。
  4. 添加一个只需重新加载页面的“下一步”按钮。您可以使用django会话变量/ GET变量来避免再次显示相同的视频,或者只是假设如果您有大量视频,它就不会经常发生问题。
  5. 添加一种从Youtube(半)自动获取新视频的方法。一种方法:
    • 在视频模型中添加“已发布”字段,让面向用户的网站仅显示已发布的视频。
    • 制作一个管理命令,用于执行Youtube搜索“预告片”或其他内容,并将新视频(未发布)添加到数据库中。 (至少检查重复的ID。)每隔几小时或几天或其他任何时候在cron中自动运行。
    • 定期进入管理员并添加新视频。如果需要,您可以创建一个自定义管理视图,在页面上显示一堆待处理视频,包含元数据,实际视频,以便您可以观看它,以及系统中可能重复的任何其他视频,以及AJAX发布和删除按钮。 (重复的事情有点困难!你可以在元数据上virtualenv找到类似的视频。
  6. 为用户添加一种登录方式(默认的Django用户系统,Facebook / Twitter集成,无论如何)和喜欢/ upvote /也许是downvote视频。记住这些。使用某种形式tf-idf weighting添加视频推荐。
  7. 您现在拥有的功能比原始网站更多!想想其他一些很酷的并实现它们。 :)