我正在尝试使用Django在Python中构建一个简单的网站。我想加载并显示模板,然后在模板的背景上显示从网络摄像头获取的图像几秒钟。图像不需要作为模板的一部分显示,如果它们在单独的窗口上显示在顶部,则可以。 问题是模板已加载并且在相机代码完成后仅显示,即我看到带有摄像机流的窗口,但只有在完成模板加载时才会看到。我想加载模板,然后显示窗口。这是代码:
from django.shortcuts import render
def takePicture(request):
temp = render(request,'pepper/picture.html')
camstream()
return temp
camstream()是激活来自摄像头的流的方法,它按预期工作。它使用pygame,遵循this教程。 有什么建议吗?
答案 0 :(得分:0)
如果要在设置相机屏幕之前向用户显示内容,则需要在设置相机屏幕之前为用户提供HTML。您似乎正在尝试通过调用
来实现此目的temp = render(request,'pepper/picture.html')
但是,该行只是从pepper / picture.html提供的模板创建HTML - 它实际上并没有向用户提供HTML。
通常,您可以通过在javascript中编写相机逻辑并将该javascript嵌入picture.html
来实现此目的。如果您想将所有内容保存在django / python中,那么我想您可以通过将takePicture
拆分为两个视图来实现这一目标:
def picture_without_stream(request):
return render(request,'pepper/picture.html')
def picture_with_stream(request):
camstream()
return render(request,'pepper/picture.html')
您最初可以加载picture_without_stream,加载时会重定向到picture_with_stream。但那很难看。