본문 바로가기

Spring Boot

[flask] 멀티채팅룸생성, 채팅창 상세화면 구현. flask chat serveer

반응형
from flask import Flask, render_template, request

app = Flask(__name__)

rooms = []

@app.route("/")
def index():
    return render_template("index.html")

@app.route("/create", methods=["POST"])
def create():
    room_name = request.form.get("room_name")
    if room_name in rooms:
        return "Room name already exists, choose another name."
    rooms.append(room_name)
    return render_template("room.html", room_name=room_name)

@app.route("/room/<room_name>", methods=["GET", "POST"])
def room(room_name):
    if request.method == "POST":
        message = request.form.get("message")
        # Do something with the message, e.g. save it to a database or broadcast it to other users in the room
        pass
    return render_template("room.html", room_name=room_name)

if __name__ == "__main__":
    app.run(debug=True)

 

템플릿 index.html은 다음 HTML 코드를 사용하여 새 대화방을 만들 수 있습니다.

<form action="/create" method="post">
  <input type="text" name="room_name">
  <button type="submit">Create Room</button>
</form>

 

템플릿 room.html은 대화방에 대한 다음과 같은 HTML 코드를 가질 수 있습니다.

<h1>Chat Room - {{ room_name }}</h1>

<form action="/room/{{ room_name }}" method="post">
  <input type="text" name="message">
  <button type="submit">Send Message</button>
</form>

<div id="messages">
  <!-- Display messages here -->
</div>
반응형