Python Flask HTML Аргументы маршрутизации - PullRequest
0 голосов
/ 22 февраля 2020

Я разрабатываю веб-сайт для технического колледжа, который пройдет через 3 дня. У меня большая часть кода работает, но я все еще не могу загрузить веб-страницу stati c с URL-адресом YouTube. Он дает аргумент позиционной ошибки

Прикрепление кода для маршрута приложения python flask и кода html для веб-страницы stati c

#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>

Может кто-нибудь, пожалуйста, объясните, в чем здесь ошибка?

Ниже приведена ошибка, которая отображается в CMD на Windows

[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 -

1 Ответ

1 голос
/ 22 февраля 2020

video - название функции, связанной с маршрутом /. Как следует из сообщения об ошибке, вы пытаетесь вызвать эту функцию, передав ей имя шаблона, который вы будете sh отображать. Однако подпись video не содержит параметров. Вместо этого просто используйте flask.render_template:

@app.route('/')
def video():
  return flask.render_template('video.html')
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...