使用我的网络应用程序,访问者应单击一个按钮,该按钮将生成一个独特的视频文件-将其存储在模型中-并将其显示给他们。
我无法理解如何将视频文件与访问者相关联,而又不让他们登录我不想做的事情。
我可以使用类似于购物车为客人工作的方式进行会话吗?
CombinedLoadStates.mediator
答案 0 :(得分:1)
您可以通过以下方式创建此功能:
例如:
index.html
<body>
<form method="POST" action="{% url 'video-file' %}">
<input type="submit"/>
</form>
{% if video %}
<video>
// render video here
</video>
{% endif %}
</body>
urls.py
from views import VideoFileView
urlpatterns = [
path('video-file/', VideoFileView.as_view(), name='video-file')
]
views.py
from models import VideoUpload
from video_generator import generate_video_file
class VideoFileView(View):
def get(self, request):
context = {}
try:
hashed_video_file_name = request.session['video_file']
video_upload = VideoUpload.objects.get(hashed_video_file_name=hashed_video_file_name)
context = {
'video': video_upload.videofile
}
except KeyError, VideoUpload.DoesNotExist:
pass
# this html also contains form
return render(request, 'index.html', context=context)
def post(self, request):
# here your magic to generate video_file
video_file = generate_video_file()
video_upload = VideoUpload.objects.create(videofile=video_file, name='name')
request.session['video_file'] = video_upload.hashed_video_file_name
return render(request, 'index.html', {'video': video_upload.videofile})