Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/windows/17.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python 键入对象';视频&x27;没有属性';视频文件&x27;德扬戈_Python_Html_Django - Fatal编程技术网

Python 键入对象';视频&x27;没有属性';视频文件&x27;德扬戈

Python 键入对象';视频&x27;没有属性';视频文件&x27;德扬戈,python,html,django,Python,Html,Django,我试图在我的网站上显示一个mp4,我把它放在上下文中,但由于某种原因,当我访问页面时,我得到这样一个信息:“type object”Video“没有属性Video\u file” 我试过几件事,但都不管用 视图.py def电影(请求,电影id): movie=get_object_或_404(Video,title=movie_id)#只获取电影名称 mp4=Video.Video\u file.url 上下文={'video':电影,'mp4':mp4} 返回渲染(请求,模板名称=f'upl

我试图在我的网站上显示一个mp4,我把它放在上下文中,但由于某种原因,当我访问页面时,我得到这样一个信息:“type object”Video“没有属性Video\u file”

我试过几件事,但都不管用

视图.py

def电影(请求,电影id):
movie=get_object_或_404(Video,title=movie_id)#只获取电影名称
mp4=Video.Video\u file.url
上下文={'video':电影,'mp4':mp4}
返回渲染(请求,模板名称=f'uploadvideos/movie.html',上下文=context)
型号.py

课堂视频(models.Model):
title=models.CharField(最大长度=40,空白=False)
video\u file=models.FileField(name=“上传mp4文件”,
上传至=f“上传视频/视频”,
validators=[FileExtensionValidator(['mp4']),
空白=假)
定义(自我):
返回自己的标题
movie.html

{{video}
我本以为会播放视频,但却出现了以下错误:
“type object‘Video’没有属性‘Video_file’

Video
指的是
Video
类,因为这里的
Video
实例名为
movie
,因此您应该使用:

def movie(request, movie_id):
    movie = get_object_or_404(Video, title=movie_id)
    context = {'video': movie, 'mp4': movie.video_file.url }
    return render(request, 'uploadvideos/movie.html', context)

这是错误的。这将加载
视频
对象。如果渲染此对象,它将调用该对象上的
str(..)
函数,这确实会返回标题,但这并不意味着
movie
本身就是一个字符串。

Video引用
Video
类,因为这里的
Video
实例名为
movie
,因此,您应该使用:

def movie(request, movie_id):
    movie = get_object_or_404(Video, title=movie_id)
    context = {'video': movie, 'mp4': movie.video_file.url }
    return render(request, 'uploadvideos/movie.html', context)

这是错误的。这将加载
视频
对象。如果渲染此对象,它将调用该对象上的
str(..)
函数,这将返回标题,但这并不意味着
movie
本身就是一个字符串。

你的意思是
movie.video\u文件
?由于某种原因,这不起作用,因为即使我尝试制作一个简单的h1并使用movie.video\u文件名,它也会显示0输出,我在屏幕上没有得到任何输出。你是说
movie.video\u file
?由于某种原因,这不起作用,因为即使我尝试制作一个简单的h1并使用movie.video\u file.name,我在屏幕上没有得到任何输出。我仍然得到与以前相同的错误,即/video/test1/'video'对象没有属性'video_file'@Lol123abc:我输入了一个错误,它是
video_file
,不是
vide_file
。是的,我知道我做了相应的更改,但不幸的是,它仍然会给我相同的错误。我仍然会得到与以前相同的错误,即AttributeError at/video/test1/'video'对象没有属性'video_file'@Lol123abc:我输入了一个错误,它是
video_file
,不是
vide_file
。是的,我知道我做了相应的更改,但不幸的是,它仍然给我同样的错误。