You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

使用f-string编写Flask邮件验证函数时出现红色波浪线问题

解决Flask邮件函数中JS代码的红色波浪线问题

红色波浪线的原因是你在JS代码里直接写了email和password,但这两个是Python函数的参数,JS环境中并没有定义这两个变量,编辑器因此提示未定义错误。同时你的Python f-string也没有正确将这两个变量注入到HTML/JS内容中。

修正方法:通过Python的f-string把email和password变量直接替换到URL路径里,生成完整的跳转地址,而不是让JS去拼接未定义的变量。

修正后的代码:

def email_verification(email,password):
        message = Mail(
            from_email='hesheitaliabu@gmail.com',
            to_emails=email,
            subject='HEY BABYYYYYYYYYYYYYYYYYYY',
            html_content=f"""
                <!DOCTYPE html>
                <html lang="en" xmlns="http://www.w3.org/1999/xhtml" xmlns:v="urn:schemas-microsoft-com:vml" xmlns:o="urn:schemas-microsoft-com:office:office">
    
                <body>
                    <button onclick="myFunction()">Replace document</button>

                <script>
                function myFunction() {{
                window.location.href = "email_verify/{email}/{password}";
                }}
                </script>
                </body>
                </html>
                """)
        Sg = sendgrid.SendGridAPIClient(api_key=os.environ.get('MyAPI'))
        Sg.send(message)

⚠️ 重要提醒:直接把密码放在URL里是极度不安全的操作,URL会被记录在浏览器历史、服务器日志、网络传输记录等多个地方,极易导致用户密码泄露。建议改用验证令牌机制:生成唯一的验证token并关联用户信息存入数据库,将token放入URL中,验证时通过token查询对应用户完成校验,而非直接传递密码。

内容的提问来源于stack exchange,提问作者qweqwe wqeqw

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.19 00:15:50