Мой код показывает эту ошибку, что бы я ни пытался, и когда я нажимаю на ссылку, это показывает, что есть 404 - PullRequest
0 голосов
/ 26 июня 2019

Что бы я ни пытался (используя разные секретные ключи, пытаясь исправить небольшие ошибки), эта ошибка появляется, когда я запускаю свой код.

Я попытался внести небольшие изменения в код, такие как изменение секретного ключа, исправление отступов и т. Д. Однако я не понимаю, почему мой код не работает, поэтому я хотел спросить здесь.

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)
  • Перезапуск со статистикой
  • Отладчик активен!
  • PIN-код отладчика: 183-355-780 (18512) wsgi запускается при http://127.0.0.1:5000

ничего не отображается в приведенной здесь ссылке в сообщении об ошибке, а localhost: 8080 ничего не показывает.

Ответы [ 2 ]

1 голос
/ 26 июня 2019

Ваши маршруты могут быть неправильными.Когда вы вызываете 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:5000 или localhost:5000

0 голосов
/ 27 июня 2019

Относительно вашего последнего комментария (я не могу комментировать пост dylanj.nz), функция render_template использует папку по умолчанию templates, поэтому в этом нет необходимости.чтобы указать его в своем коде:)

Таким образом, вы должны удалить template/ в этой строке: return render_template("template/login.html").

Если вы хотите изменить расположение папки по умолчанию, добавьте template_folderинструкция в вашем app = Flask(...).
Пример:

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