无论我尝试什么,我的代码都会显示此错误,当我单击 link 时,它显示有一个 404

My code shows this error whatever I try, and when I click on the link it shows there's a 404

无论我尝试什么(使用不同的密钥,尝试修复小错误),当我 运行 我的代码时都会显示此错误。

我试过对代码做一些小改动,比如更改密钥,修复缩进等。但是,我不明白为什么我的代码不起作用,所以我想在这里问一下。

from flask import Flask, render_template, session, request
from flask_socketio import SocketIO, emit, join_room

app = Flask(__name__)
app.debug = True
app.config['SECRET_KEY'] = 'secretcodehere29403949493'
socketio = SocketIO(app)

@app.route("/template/chat.html/")
def chat():
  return render_template("template/login.html")


@app.route(r'/template/login.html/')
def login():
  return render_template('login.html')


@socketio.on('message', namespace='/chat')
def chat_message(message):
  print("message = ", message)
  emit('message', {'data': message['data']}, broadcast=True)


@socketio.on('connect', namespace='/chat')
def test_connect():
  emit('my response', {'data': 'Connected', 'count': 0})

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

它在此处的错误中提供的 link 中没有任何显示,并且 localhost:8080 没有显示任何内容。

您的路线可能不正确。当您调用 app.route 时,您将 url 映射到该函数。

在您的情况下,您路线中的 url 定义:127.0.0.1:5000/template/chat.html/127.0.0.1:5000/template/login.html/

尝试将路线更改为 @app.route('/'),然后导航至 127.0.0.1:5000localhost:5000

关于 (I can't comment on dylanj.nz's post), the render_template 函数使用默认的 templates 文件夹,因此无需在您的代码中指定它:)

因此您应该删除此行中的 template/ return render_template("template/login.html").

如果要更改默认文件夹位置,请在 app = Flask(...) 中添加 template_folder 指令。
示例:

app = Flask(__name__, template_folder='application/templates', static_folder='heyanotherdirectory/static')