【发布时间】:2020-05-20 11:41:34
【问题描述】:
所以我的代码有问题,我试图从 python 将值返回到我的 HTML。现在我正在使用一个包含 190 多种产品的 API,它们都存储在 itemName、buyPrice、sellPrice 等变量中。
例如,如果我用 HTML 编写:
{{ itemName }}
我写了很多次,然后使用: return ("index.html", itemName=itemName)
它当然会一遍又一遍地返回相同的名称,现在我希望它返回第一个名称,然后是第二个名称,然后是第三个名称,依此类推,买入和卖出价格相同。
名称位于名为“产品”的数组中,价格等位于我使用 request.get(...) 的 API 中。我的代码在下面
import requests
import time
import datetime
from flask import Flask, render_template, redirect, url_for
app = Flask(__name__)
product = [
"BROWN_MUSHROOM",
"INK_SACK:3", # cocao beans
"INK_SACK:4", # lapis lazuli
"TARANTULA_WEB",
"CARROT_ITEM",
"ENCHANTED_POTATO",
"ENCHANTED_SLIME_BALL",
"ENCHANTED_GOLDEN_CARROT",
"ENCHANTED_RED_MUSHROOM",
"ENCHANTED_RABBIT_HIDE",
"ENCHANTED_BIRCH_LOG",
"ENCHANTED_GUNPOWDER",
"ENCHANTED_MELON",
"ENCHANTED_SUGAR",
"CACTUS",
"ENCHANTED_BLAZE_ROD",
"ENCHANTED_CAKE",
"PUMPKIN",
"ENCHANTED_BROWN_MUSHROOM",
"WHEAT",
"ENCHANTED_RAW_SALMON",
"ENCHANTED_GLISTERING_MELON",
"PRISMARINE_SHARD",
"PROTECTOR_FRAGMENT",
"ENCHANTED_EMERALD",
"ENCHANTED_SPIDER_EYE",
"RED_MUSHROOM",
"MUTTON",
"ENCHANTED_MELON_BLOCK",
"DIAMOND",
"WISE_FRAGMENT",
"COBBLESTONE",
"SPIDER_EYE",
"RAW_FISH",
"ENCHANTED_PUFFERFISH",
"POTATO_ITEM",
"ENCHANTED_HUGE_MUSHROOM_1", # enchanted brown mushroom block
"ENCHANTED_COBBLESTONE",
"ENCHANTED_HUGE_MUSHROOM_2", # enchanted red mushroom block
"PORK",
"PRISMARINE_CRYSTALS",
"ICE",
"HUGE_MUSHROOM_1", # brown mushroom block
"HUGE_MUSHROOM_2", # red mushroom block
"LOG_2:1", # dark oak
"ENCHANTED_SNOW_BLOCK",
"GOLDEN_TOOTH",
"STRING",
"RABBIT_FOOT",
"REDSTONE",
"ENCHANTED_CACTUS_GREEN",
"ENCHANTED_CARROT_STICK",
"ENCHANTED_LAPIS_LAZULI_BLOCK",
"ENCHANTED_COOKIE",
"ENCHANTED_ENDSTONE",
"ENCHANTED_SAND",
"ENCHANTED_STRING",
"STRONG_FRAGMENT",
"SLIME_BALL",
"ENCHANTED_ACACIA_LOG",
"SNOW_BALL",
"ENCHANTED_EGG",
"SAND",
"RAW_CHICKEN",
"ENCHANTED_LAPIS_LAZULI",
"ENCHANTED_GHAST_TEAR",
"ENCHANTED_COCOA",
"SEEDS",
"ENCHANTED_LEATHER",
"ENCHANTED_SPONGE",
"HAY_BLOCK",
"FLINT",
"INK_SACK",
"WOLF_TOOTH",
"ENCHANTED_SPRUCE_LOG",
"ENCHANTED_ROTTEN_FLESH",
"ENCHANTED_GRILLED_PORK",
"ENCHANTED_NETHER_STALK",
"ENCHANTED_REDSTONE_BLOCK",
"ENCHANTED_QUARTZ_BLOCK",
"GREEN_CANDY",
"ENCHANTED_REDSTONE",
"ENCHANTED_REDSTONE_LAMP",
"GRAVEL",
"MELON",
"ENCHANTED_LAVA_BUCKET",
"ENCHANTED_PACKED_ICE",
"RAW_FISH:3", # pufferfish
"ENCHANTED_PRISMARINE_SHARD",
"ENCHANTED_CARROT_STICK",
"ENCHANTED_IRON_BLOCK",
"BONE",
"RAW_FISH:2", # clownfish
"RAW_FISH:1", # raw salmon
"REVENANT_FLESH",
"ENCHANTED_PORK",
"ENCHANTED_GLOWSTONE",
"FEATHER",
"NETHERRACK",
"SPONGE",
"BLAZE_ROD",
"ENCHANTED_DARK_OAK_LOG",
"YOUNG_FRAGMENT",
"ENCHANTED_CLOWNFISH",
"ENCHANTED_GOLD",
"ENCHANTED_RAW_CHICKEN",
"ENCHANTED_WATER_LILY",
"LOG:1", # spruce
"CATALYST",
"LOG:3", # jungle
"LOG:2", # birch
"ENCHANTED_GLOWSTONE_DUST",
"ENCHANTED_INK_SACK",
"ENCHANTED_CACTUS",
"ENCHANTED_SUGAR_CANE",
"ENCHANTED_COOKED_SALMON",
"ENCHANTED_SEEDS",
"LOG", # oak
"GHAST_TEAR",
"ENCHANTED_ENDER_PEARL",
"UNSTABLE_FRAGMENT",
"PURPLE_CANDY",
"ENCHANTED_FERMENTED_SPIDER_EYE",
"ENCHANTED_GOLD_BLOCK",
"ENCHANTED_JUNGLE_LOG",
"ENCHANTED_FLINT",
"IRON_INGOT",
"ENCHANTED_EMERALD_BLOCK",
"ENCHANTED_CLAY_BALL",
"GLOWSTONE_DUST",
"GOLD_INGOT",
"REVENANT_VISCERA",
"TARANTULA_SILK",
"ENCHANTED_MUTTON",
"SUPER_EGG",
"SUPER_COMPACTOR_3000",
"ENCHANTED_IRON",
"STOCK_OF_STONKS",
"ENCHANTED_HAY_BLOCK",
"ENCHANTED_BONE",
"ENCHANTED_PAPER",
"ENCHANTED_DIAMOND_BLOCK",
"SUPERIOR_FRAGMENT",
"EMERALD",
"ENCHANTED_RABBIT_FOOT",
"ENCHANTED_ICE",
"HOT_POTATO_BOOK",
"CLAY_BALL",
"OLD_FRAGMENT",
"GREEN_GIFT",
"PACKED_ICE",
"WATER_LILY", # lily pad
"LOG_2", # acacia
"HAMSTER_WHEEL",
"ENCHANTED_OBSIDIAN",
"ENCHANTED_COAL",
"ENCHANTED_QUARTZ",
"COAL",
"ENDER_PEARL",
"ENCHANTED_COAL_BLOCK",
"ENCHANTED_PRISMARINE_CRYSTALS",
"ENCHANTED_WET_SPONGE",
"ENDER_STONE", # end stone
"ENCHANTED_RAW_FISH",
"QUARTZ",
"FOUL_FLESH",
"RAW_BEEF",
"ENCHANTED_EYE_OF_ENDER",
"SUGAR_CANE",
"MAGMA_CREAM",
"RED_GIFT",
"ENCHANTED_RAW_BEEF",
"ENCHANTED_SLIME_BLOCK",
"ENCHANTED_FEATHER",
"ENCHANTED_OAK_LOG",
"RABBIT_HIDE",
"WHITE_GIFT",
"RABBIT",
"NETHER_STALK",
"SULPHUR",
"ENCHANTED_CARROT",
"ENCHANTED_PUMPKIN",
"ROTTEN_FLESH",
"ENCHANTED_COOKED_FISH",
"OBSIDIAN",
"ENCHANTED_MAGMA_CREAM",
"ENCHANTED_FIREWORK_ROCKET",
"LEATHER",
"ENCHANTED_COOKED_MUTTON",
"ENCHANTED_RABBIT",
"ENCHANTED_BREAD",
"ENCHANTED_CHARCOAL",
"ENCHANTED_BLAZE_POWDER",
"SUMMONING_EYE",
"SNOW_BLOCK",
"ENCHANTED_BAKED_POTATO",
"COMPACTOR",
"ENCHANTED_DIAMOND"
]
for x in product:
f = requests.get(
"https://api.hypixel.net/skyblock/bazaar/product?key=[key supposed to be secret]&productId=" + x).json()
# Item Name
itemName = f["product_info"]["product_id"]
# TimeStamp
timestamp = f["product_info"]["week_historic"][0]["timestamp"]
unixTimestamp = timestamp / 1000.0
# Buy Price
buyPrice = f["product_info"]["buy_summary"][0]["pricePerUnit"]
# Buy Amount
buyAmount = f["product_info"]["buy_summary"][0]["amount"]
# Buy Orders
buyOrders = f["product_info"]["buy_summary"][0]["orders"]
# Sell Price
sellPrice = f["product_info"]["sell_summary"][0]["pricePerUnit"]
# Sell Amount
sellAmount = f["product_info"]["sell_summary"][0]["amount"]
# Sell Orders
sellOrders = f["product_info"]["sell_summary"][0]["orders"]
# Week History
# Buys
buys = f["product_info"]["week_historic"][0]["buys"]
# Buy Volume
buyVolume = f["product_info"]["week_historic"][0]["buyVolume"]
# Sells
sells = f["product_info"]["week_historic"][0]["sells"]
# Sell Volume
sellVolume = f["product_info"]["week_historic"][0]["sellVolume"]
@app.route("/")
def index():
return render_template("index.html", itemName=itemName)
if __name__ == "__main__":
app.run(debug=True)
【问题讨论】:
-
你必须在你的 index.html 中做。你能显示html文件吗?
-
我没有和以前一样的 HTML,尝试进行更改但没有运气,这就是它在正文标签内部的样子。 pastebin.com/eufThtLW(在那里更容易阅读)顺便说一句,如果有帮助,我会使用 Jinja。