Я хочу использовать HTML для динамического изменения значений и вызова функций py без обновления экрана.
У меня есть app.py и куча классов, связанных с картами, игроками и т.д. Карты берутся из csv в моем локальном репозитории. Теоретически игра работает просто через терминал, но очевидно, что это неинтуитивно, и я решил, что веб-сайт - это хороший дом для отображения игры. В настоящее время я использую flask, и я просмотрел много-много постов, связанных с этим, и ответы сводятся к следующему:
- Flask может сделать это, только если я обновлю страницу.
- Используйте django или ajax.
- Переписать все на 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()