我需要以下代码的帮助。

root@ip-xxxxxxxx:~/flaskapp# cat flaskapp.py
from flask import Flask, render_template, redirect, url_for, request
app = Flask(__name__)

@app.route('/hello')
def hello_world():
    return render_template('testing.html', name = 'john')
    if __name__ == '__main__':
   app.run()
root@ip-xxxxxxx:~/flaskapp#


当我打开站点(http://www.example.com/hello)时,页面返回500 Internal Server Error。
有人可以协助解决代码错误吗?
 上面的文件(flaskapp.py)位于html根目录下的flask flask文件夹下。同样,testing.html也放置在flaskapp文件夹内的templates文件夹下。

以下是/etc/apache2/sites-enabled/000-default.conf文件的内容

<VirtualHost *:80>

    ServerAdmin webmaster@localhost
    DocumentRoot /var/www/html

    ErrorLog ${APACHE_LOG_DIR}/error.log
    CustomLog ${APACHE_LOG_DIR}/access.log combined
</VirtualHost>
# vim: syntax=apache ts=4 sw=4 sts=4 sr noet
WSGIDaemonProcess flaskapp threads=5
WSGIScriptAlias / /var/www/html/flaskapp/flaskapp.wsgi

<Directory flaskapp>
WSGIProcessGroup flaskapp
WSGIApplicationGroup %{GLOBAL}
Order deny,allow
Allow from all
</Directory>


以下是apache错误日志

文件“ /var/www/html/flaskapp/flaskapp.py”,第8行
    app.run()
      ^
IndentationError:应缩进的块

最佳答案

File "/var/www/html/flaskapp/flaskapp.py", line 8 app.run() ^ IndentationError: expected an indented block

Apache告诉您,由于缩进问题,flaskapp.py中的第8行存在错误。 Python is very sensitive with regards to indentation.您有:

    if __name__ == '__main__':
   app.run()


希望这可以帮助!

app.run()应该进一步缩进,以使其似乎在if语句的“下方”。尝试将代码更改为如下所示,看看是否可以解决问题:

    if __name__ == '__main__':
        app.run()

关于python - flask -render_template无法呈现html页面,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/59480738/

10-13 02:08