Я хочу использовать HTML для динамического изменения значений и вызова функций py без обновления экрана.

У меня есть app.py и куча классов, связанных с картами, игроками и т.д. Карты берутся из csv в моем локальном репозитории. Теоретически игра работает просто через терминал, но очевидно, что это неинтуитивно, и я решил, что веб-сайт - это хороший дом для отображения игры. В настоящее время я использую flask, и я просмотрел много-много постов, связанных с этим, и ответы сводятся к следующему:

  1. Flask может сделать это, только если я обновлю страницу.
  2. Используйте django или ajax.
  3. Переписать все на JS и использовать react.

Также хочу предупредить, что я в значительной степени ноб, я начал кодить только недавно и больше склонен к логике на питоне и конструированию самой игры, но все, что связано с веб, я абсолютно отстой, так как это куча синтаксиса и раздражающих нюансов, которые я все еще не полностью понимаю. Однако, если это действительно мой единственный вариант, то, конечно, я постараюсь ознакомиться, но сейчас я даже не знаю, с чего начать. Любой совет будет оценен по достоинству, особенно если я все перепутал и даже не знаю, о чем говорю. Если вам нужно больше кода или контекста, дайте мне знать.

from flask import Flask, flash, jsonify, redirect, render_template, request, session

from cardclass import Card
from playerclass import Player
from helpers import *

app = Flask(__name__)

def main():
    #normally the code goes here
    pass

def gameStart(p1, p2):
    determineFirst(p1, p2)
    p1.drawCard(5)
    p2.drawCard(5)

@app.route('/')
def index():
    human = Player("human")
    opponent = Player("opponent")
    gameStart(human, opponent)
    type = human.type
    protect = human.protect
    hp = human.hp
    hand = human.hand
    #only returns static values of classes
    return render_template(
    "test.html", hp = hp, hand = hand, type = type, protect = protect)

main()
Вернуться на верх