python – 在heroku上使用_external = True的url_for不会在URL上附加服务器名称
内容导读
互联网集市收集整理的这篇技术教程文章主要介绍了python – 在heroku上使用_external = True的url_for不会在URL上附加服务器名称,小编现在分享给大家,供广大互联网技能从业者学习和参考。文章包含1425字,纯文字阅读大概需要3分钟。
内容图文
![python – 在heroku上使用_external = True的url_for不会在URL上附加服务器名称](/upload/InfoBanner/zyjiaocheng/789/4bbf14d638214e5ba8f2f573ae720bed.jpg)
我已经在Heroku上部署了一个应用程序,但问题是当我的应用程序发送电子邮件时,它不会在URL中附加我的服务器名称:
content = Content("text/html", verification_email.format(user["first_name"],
url_for("register.display_register_form",
token=token.decode("utf-8"), external=True)))
但我在电子邮件中收到的链接是:
http:///register_account/DnsJpXw_QIcPYeDHEg_fipB2kRiJBUj2RI6I9cI4Yl4w6K9ohbZRMVqBInuV0aOsBT4Zqt69X8MfhNfnys4s-DAQmgu1OPBwmSQnzAELvdcCyiZtkJGSY8_dQ799FOewtBDkvqR1D8XHmvVxgaVqbwSjdEBnvFsBBHMQCic%3D/verify?external=True
我有这个网址的问题:
>它不是https,它应该是因为它是heroku的主机
>服务器名称不会仅显示在URL中///,如果服务器名称为空
如何获得正确的URL https:// my-server-name / register_account …?
编辑
我尝试使用以下变量在config.py文件中设置:
SERVER_NAME =“http://my-server-58140.herokuapp.com”
它在我的路径中生成错误,我无法访问任何URL,例如,以下可能是访问之前,但在定义我的SERVER_NAME时,它不再存在:
http://my-server-58140.herokuapp.com/home
编辑
我的烧瓶应用程序配置为:
SERVER_NAME = os.environ.get('SERVER_NAME')
DEBUG = True
BASE_DIR = os.path.abspath(os.path.dirname(__file__))
在我的localhost上将environnement变量设置为0.0.0.0:5000,在我的生产服务器上将my-server-58140.herokuapp.com设置为
解决方法:
要生成正确的URL,需要设置以下两个Flask配置值:
> SERVER_NAME到您网站的名称,
>和PREFERRED_URL_SCHEME到https.
见documentation for url_for()和how to configure a Flask application.
编辑:此外,url_for中的参数应该是_external而不是外部的.
内容总结
以上是互联网集市为您收集整理的python – 在heroku上使用_external = True的url_for不会在URL上附加服务器名称全部内容,希望文章能够帮你解决python – 在heroku上使用_external = True的url_for不会在URL上附加服务器名称所遇到的程序开发问题。 如果觉得互联网集市技术教程内容还不错,欢迎将互联网集市网站推荐给程序员好友。
内容备注
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 gblab@vip.qq.com 举报,一经查实,本站将立刻删除。
内容手机端
扫描二维码推送至手机访问。