Python和HTML路由参数

2024-09-26 22:55:03 发布

您现在位置:Python中文网/ 问答频道 /正文

我正在为3天后的大学技术节设计一个网站。我已经完成了大部分代码,但是我仍然无法获得要加载的带有youtube URL的静态网页。它给出了一个位置错误参数

附加python flask应用程序路由的代码和静态网页的html代码

#Python Flask Code
@app.route('/')
def video():
    return video('video.html')
#HTML Static Page code
{% extends "base.html" %} {% block title %}Blog entries{% endblock %} {% block content_title %}{% if search %}Search "{{
    search }}"{% else %}Blog entries{% endif %}{% endblock %} {% block content %}

<div class="blog py-4">
    <h3 class="section-title tex-center m-5">Event Videos</h3>
    <div class="container">
        <div class="py-4">
            <div class="row">
                <div class="col-sm-6">
                    <iframe width="892" height="502" src="https://www.youtube.com/embed/t9FT9MKvO4c" frameborder="0" allow="accelerometer; autoplay; encrypted-media; gyroscope; picture-in-picture" allowfullscreen>
                    </iframe>            
                 </div>
            </div>
        </div>
    </div>
</div>

有人能解释一下这里的错误吗

下面是Windows上CMD中显示的错误

[2020-02-22 20:22:06,385] ERROR in app: Exception on /video/ [GET]
Traceback (most recent call last):
  File "C:\Users\rosch\AppData\Local\Programs\Python\Python38\lib\site-packages\flask\app.py", line 2446, in wsgi_app
    response = self.full_dispatch_request()
  File "C:\Users\rosch\AppData\Local\Programs\Python\Python38\lib\site-packages\flask\app.py", line 1951, in full_dispatch_request
    rv = self.handle_user_exception(e)
  File "C:\Users\rosch\AppData\Local\Programs\Python\Python38\lib\site-packages\flask\app.py", line 1820, in handle_user_exception
    reraise(exc_type, exc_value, tb)
  File "C:\Users\rosch\AppData\Local\Programs\Python\Python38\lib\site-packages\flask\_compat.py", line 39, in reraise
    raise value
  File "C:\Users\rosch\AppData\Local\Programs\Python\Python38\lib\site-packages\flask\app.py", line 1949, in full_dispatch_request
    rv = self.dispatch_request()
  File "C:\Users\rosch\AppData\Local\Programs\Python\Python38\lib\site-packages\flask\app.py", line 1935, in dispatch_request
    return self.view_functions[rule.endpoint](**req.view_args)
  File "colo.py", line 355, in video
    return video('video.html')
TypeError: video() takes 0 positional arguments but 1 was given
127.0.0.1 - - [22/Feb/2020 20:22:06] "[35m[1mGET /video/ HTTP/1.1[0m" 500 -

Tags: inpydivappflasklocalvideoline
1条回答
网友
1楼 · 发布于 2024-09-26 22:55:03

video是绑定到路由/的函数的名称。正如错误消息所暗示的,您正试图通过向该函数传递希望呈现的模板的名称来调用该函数。但是,video的签名不包含任何参数。相反,只需使用flask.render_template

@app.route('/')
def video():
  return flask.render_template('video.html')

相关问题 更多 >

    热门问题