简单实现学院球队转会

简介:

要创建一个能够录入球员、查看各个学院赛程以及执行球员转会的网页,你需要进行一系列步骤,包括前端和后端开发。以下是一个简单示例,使用Python的Flask框架和HTML来实现这个功能:

1.设置环境和安装Flask:

(1)安装虚拟环境工具:

python3 -m venv myenv
这将在当前目录创建一个myenv的虚拟环境\

(2)激活虚拟环境

myenv\Scripts\activate
这是在Windows中的命令

(3)安装flask

pip install flask

(4)检验
python
import flask
flask.__version__

2.创建flask应用

(1)创建一个名为app.py的文件
python
Copy code
from flask import Flask, render_template, request, redirect, url_for

app = Flask(__name__)

# 创建一个空的球员列表和学院赛程
players = []
schedules = {
    'College A': ['Match 1', 'Match 2', 'Match 3'],
    'College B': ['Match 4', 'Match 5', 'Match 6'],
    # 添加更多学院和赛程
}

@app.route('/')
def home():
    return render_template('index.html', players=players, schedules=schedules)

@app.route('/add_player', methods=['POST'])
def add_player():
    name = request.form.get('name')
    college = request.form.get('college')
    players.append({'name': name, 'college': college})
    return redirect(url_for('home'))

@app.route('/transfer_player', methods=['POST'])
def transfer_player():
    player_name = request.form.get('player_name')
    target_college = request.form.get('target_college')

    for player in players:
        if player['name'] == player_name:
            player['college'] = target_college

    return redirect(url_for('home'))

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

创建HTML模板:

在项目目录中创建一个名为templates的文件夹,然后在其中创建一个名为index.html的HTML模板文件。这个模板文件用于显示球员信息、学院赛程和转会表单。
<!DOCTYPE html>
<html>
<head>
    <title>学院赛程</title>
</head>
<body>
    <h1>学院赛程</h1>

    <h2>球员信息</h2>
    <ul>
        {% for player in players %}
            <li>{{ player.name }} - {{ player.college }}</li>
        {% endfor %}
    </ul>

    <h2>赛程</h2>
    <ul>
        {% for college, matches in schedules.items() %}
            <li>{{ college }}:
                <ul>
                    {% for match in matches %}
                        <li>{{ match }}</li>
                    {% endfor %}
                </ul>
            </li>
        {% endfor %}
    </ul>

    <h2>录入球员</h2>
    <form method="post" action="/add_player">
        <label for="name">姓名:</label>
        <input type="text" name="name" required>
        <br>
        <label for="college">学院:</label>
        <select name="college" required>
            <option value="College A">College A</option>
            <option value="College B">College B</option>
            <!-- 添加更多学院选项 -->
        </select>
        <br>
        <input type="submit" value="添加球员">
    </form>

    <h2>球员转会</h2>
    <form method="post" action="/transfer_player">
        <label for="player_name">球员姓名:</label>
        <input type="text" name="player_name" required>
        <br>
        <label for="target_college">目标学院:</label>
        <select name="target_college" required>
            <option value="College A">College A</option>
            <option value="College B">College B</option>
            <!-- 添加更多学院选项 -->
        </select>
        <br>
        <input type="submit" value="执行转会">
    </form>
</body>
</html>

4.运行应用程序

在终端中运行应用程序:
python app.py
你的Web应用程序将在本地服务器上运行,你可以通过浏览器访问 http://localhost:5000/ 来访问应用程序。现在,你可以录入球员信息、查看学院赛程并执行球员转会。

5.优化

为了将录入球员和添加转会功能放在子网页中,你可以使用Flask的蓝图(Blueprints)来组织你的应用程序。蓝图允许你将不同功能模块划分到不同的子网页中,使你的应用程序更有组织性。以下是如何将这两个功能分别放在不同的子网页中的步骤:

1. 创建蓝图:

首先,创建两个独立的蓝图,一个用于录入球员,另一个用于添加转会。在你的应用目录中创建两个新的Python文件,例如player_bp.py 和 transfer_bp.py。

(1) 在 player_bp.py 中创建录入球员的蓝图:

from flask import Blueprint, render_template, request, redirect, url_for

player_bp = Blueprint('player_bp', __name__)

players = []

@player_bp.route('/add_player', methods=['POST'])
def add_player():
    name = request.form.get('name')
    college = request.form.get('college')
    players.append({'name': name, 'college': college})
    return redirect(url_for('home'))
    # 你可以在这里添加其他与球员相关的路由

(2) 在 transfer_bp.py 中创建添加转会的蓝图:

from flask import Blueprint, render_template, request, redirect, url_for

transfer_bp = Blueprint('transfer_bp', __name__)

@transfer_bp.route('/transfer_player', methods=['POST'])
def transfer_player():
    player_name = request.form.get('player_name')
    target_college = request.form.get('target_college')

    for player in players:
        if player['name'] == player_name:
            player['college'] = target_college

    return redirect(url_for('home'))

# 你可以在这里添加其他与转会相关的路由
2. 更新主应用:

在主应用 (app.py) 中,导入这两个蓝图并将它们注册到应用中:

from flask import Flask, render_template
from player_bp import player_bp
from transfer_bp import transfer_bp

app = Flask(__name)

# 创建一个空的学院赛程
schedules = {
    'College A': ['Match 1', 'Match 2', 'Match 3'],
    'College B': ['Match 4', 'Match 5', 'Match 6'],
    # 添加更多学院和赛程
}

app.register_blueprint(player_bp)
app.register_blueprint(transfer_bp)

# 剩余的代码保持不变
3. 更新HTML模板:

在你的HTML模板中,相应地更新表单的 action 属性,以匹配子蓝图的路由路径。例如,录入球员的表单的 action 属性可以设置为 url_for('player_bp.add_player'),而添加转会的表单的 action 属性可以设置为 url_for('transfer_bp.transfer_player')

4. 运行应用程序:

运行主应用程序 (app.py) 如下:
python app.py
你的Web应用程序现在应该具有两个独立的子网页,分别用于录入球员和执行球员转会。这使你的应用程序更有组织性并且容易扩展。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值