Flask向HTML模板传递自定义函数生成的卡牌变量返回None如何解决
问题原因
- 核心问题是
create_card_name()函数没有返回有效数值:你把原本的return语句用##注释掉了,当前函数仅执行print操作把拼接结果打印到控制台,Python规则中所有未显式声明return语句的函数,执行结束后默认返回None,因此你赋值给card1到card4的变量全都是None,传递到模板后自然显示为None。
修复方案
- 移除return语句的注释,或者将print语句替换为return即可,如果你需要带下划线的文件名格式,修改后代码如下:
def create_card_name(): random = get_random_line("random.txt") alsorandom = get_random_line("alsorandom.txt") # 按需返回对应格式的文件名即可 return alsorandom + "_" + random + ".svg"
- 修改后函数会返回拼接完成的卡牌文件名,card1到card4的变量就会拿到正确值,渲染到模板后就能正常显示。
内容的提问来源于stack exchange,提问作者nagol12344
相关产品推荐
相关产品推荐

