0

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

谢谢你的建议!

4

1 回答 1

0

好的,这是我将如何进行此操作的大致轮廓。顺序无关紧要;它们之间显然存在一些依赖关系,但请按照您想要解决它们的顺序执行它们。

另外,如果您是新手,我强烈建议您使用git,或者,如果您已经熟悉它,则使用mercurial进行版本控制,使用virtualenv来跟踪依赖项。

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