Heroku python flask应用程序无法运行,但在本地主机上运行良好?
基本上我的网站上有些人的标题是这样的:当我尝试登录时,什么也没有发生,我填写了Recpatca输入正确的详细信息,但页面只是刷新,什么也不做,但是当我在本地主机上进行时,它工作正常,我可以登录并正常完成所有事情。 我也尝试过删除recaptcha的内容,在本地主机上运行良好,但在heroku上仍然存在相同的问题。希望有更多知识的人能帮忙。如果需要,我可以链接我的github repo。最初我遇到一个错误,python告诉我安装python dotenv,所以我安装了它并将其添加到requirements.txt中,并在本地主机上修复了它。但赫罗库还是不肯工作 登录表单Heroku python flask应用程序无法运行,但在本地主机上运行良好?,python,sqlite,flask,heroku,Python,Sqlite,Flask,Heroku,基本上我的网站上有些人的标题是这样的:当我尝试登录时,什么也没有发生,我填写了Recpatca输入正确的详细信息,但页面只是刷新,什么也不做,但是当我在本地主机上进行时,它工作正常,我可以登录并正常完成所有事情。 我也尝试过删除recaptcha的内容,在本地主机上运行良好,但在heroku上仍然存在相同的问题。希望有更多知识的人能帮忙。如果需要,我可以链接我的github repo。最初我遇到一个错误,python告诉我安装python dotenv,所以我安装了它并将其添加到requirem
# Log in form
class LoginForm(FlaskForm):
# Validate required fields from user for sign in
email = StringField('Email',
validators=[DataRequired(), Email()])
password = PasswordField('Password',
validators=[DataRequired()])
recaptcha = RecaptchaField('Please complete the verification below to sign in', validators=[DataRequired()]) # Used to prevent bots brute force sign ins
remember = BooleanField("Remember Me")
submit = SubmitField('Login')
使用RECAPTCHA代码登录HTML
{% extends "layout.html" %}
{% block content %}
<h1 class="p-3">Sign In Now</h1>
<div class="content-section">
<form method="POST" action="">
{{ form.hidden_tag() }}
<fieldset class="form-group">
<legend class="border-bottom mb-4">Lets get you logged in!</legend>
<div class="form-group">
{{ form.email.label(class="form-control-label") }}
{% if form.email.errors %}
{{ form.email(class="form-control form-control-lg is-invalid") }}
<div class="invalid-feedback">
{% for error in form.email.errors %}
<span>{{ error }}</span>
{% endfor %}
</div>
{% else %}
{{ form.email(class="form-control form-control-lg") }}
{% endif %}
</div>
<div class="form-group">
{{ form.password.label(class="form-control-label") }}
{% if form.password.errors %}
{{ form.password(class="form-control form-control-lg is-invalid") }}
<div class="invalid-feedback">
{% for error in form.password.errors %}
<span>{{ error }}</span>
{% endfor %}
</div>
{% else %}
{{ form.password(class="form-control form-control-lg") }}
{% endif %}
</div>
<!--Option to remember user password-->
<div class="form-check">
{{ form.remember(class="form-check-input")}}
{{ form.remember.label(class="form-check-label")}}
</div>
</fieldset>
<!--REcaptcha-->
<div class="form-group">
{{ form.recaptcha.label(class="form-control-label") }}
{% if form.recaptcha.errors %}
{{ form.recaptcha()}}
<div class="invalid-feedback">
{% for error in form.recaptcha.errors %}
<span>{{ error }}</span>
{% endfor %}
</div>
{% else %}
{{ form.recaptcha()}}
{% endif %}
</div>
<div class="form-group">
{{ form.submit(class="btn btn-outline-info")}}
<!--Forgot password option-->
<small class="text-muted ml-2">
<a href="{{ url_for('users.reset_request') }}">Forgot your password?</a>
</small>
</div>
</form>
</div>
<div class="border-top pt-3">
<small class="text-muted">
Need An Account? <a class="ml-2" href="{{ url_for('users.register')}}">Make an account</a>
</small>
</div>
{% endblock content %}
观点
日志文件已更新
2021-06-08T16:17:19.935726+00:00 app[web.1]: 10.9.246.15 - - [08/Jun/2021:16:17:19 +0000] "GET /static/images/site_images/CV.pdf HTTP/1.1" 200 0 "https://mathewsjoy.herokuapp.com/index" "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/91.0.4472.77 Safari/537.36"
2021-06-08T16:17:19.943496+00:00 heroku[router]: at=info method=GET path="/static/images/site_images/CV.pdf" host=mathewsjoy.herokuapp.com request_id=dc53339a-c6b2-4c4f-971a-55e293282d5e fwd="47.31.223.249" dyno=web.1 connect=1ms service=13ms status=200 bytes=121110 protocol=https
2021-06-08T16:17:26.044007+00:00 heroku[router]: at=info method=GET path="/static/images/site_images/CV.pdf" host=mathewsjoy.herokuapp.com request_id=8636fb32-7d00-43dd-9ccf-1432778cdeb9 fwd="47.31.223.249" dyno=web.1 connect=1ms service=29ms status=200 bytes=121110 protocol=https
2021-06-08T16:17:26.036465+00:00 app[web.1]: 10.30.121.23 - - [08/Jun/2021:16:17:26 +0000] "GET /static/images/site_images/CV.pdf HTTP/1.1" 200 0 "https://mathewsjoy.herokuapp.com/index" "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/91.0.4472.77 Safari/537.36"
2021-06-08T16:17:28.652326+00:00 app[web.1]: 10.95.230.181 - - [08/Jun/2021:16:17:28 +0000] "POST /login HTTP/1.1" 200 6969 "https://mathewsjoy.herokuapp.com/login" "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/91.0.4472.77 Safari/537.36"
2021-06-08T16:17:28.885252+00:00 app[web.1]: 10.95.230.181 - - [08/Jun/2021:16:17:28 +0000] "GET /jquery-2.1.4.js HTTP/1.1" 404 4570 "https://mathewsjoy.herokuapp.com/login" "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/91.0.4472.77 Safari/537.36"
2021-06-08T16:17:28.653253+00:00 heroku[router]: at=info method=POST path="/login" host=mathewsjoy.herokuapp.com request_id=3022e0fd-bdf0-4b49-99f3-77f507293d5b fwd="88.104.38.208" dyno=web.1 connect=0ms service=127ms status=200 bytes=7289 protocol=https
2021-06-08T16:17:29.002245+00:00 heroku[router]: at=info method=GET path="/static/css/main.css" host=mathewsjoy.herokuapp.com request_id=34f2d5e9-b4fa-4cb8-be39-b259258ea129 fwd="88.104.38.208" dyno=web.1 connect=0ms service=6ms status=304 bytes=176 protocol=https
2021-06-08T16:17:29.001184+00:00 app[web.1]: 10.95.230.181 - - [08/Jun/2021:16:17:28 +0000] "GET /static/css/main.css HTTP/1.1" 304 0 "https://mathewsjoy.herokuapp.com/login" "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/91.0.4472.77 Safari/537.36"
2021-06-08T16:17:29.088821+00:00 app[web.1]: 10.63.102.120 - - [08/Jun/2021:16:17:29 +0000] "GET /static/css/contactme.css HTTP/1.1" 304 0 "https://mathewsjoy.herokuapp.com/login" "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/91.0.4472.77 Safari/537.36"
2021-06-08T16:17:29.096835+00:00 app[web.1]: 10.9.143.150 - - [08/Jun/2021:16:17:29 +0000] "GET /static/css/portfolio.css HTTP/1.1" 304 0 "https://mathewsjoy.herokuapp.com/login" "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/91.0.4472.77 Safari/537.36"
2021-06-08T16:17:29.106037+00:00 app[web.1]: 10.63.235.92 - - [08/Jun/2021:16:17:29 +0000] "GET /static/js/javascript.js HTTP/1.1" 304 0 "https://mathewsjoy.herokuapp.com/login" "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/91.0.4472.77 Safari/537.36"
2021-06-08T16:17:28.886067+00:00 heroku[router]: at=info method=GET path="/jquery-2.1.4.js" host=mathewsjoy.herokuapp.com request_id=de7012c1-6701-48f2-a9b1-86fd86c10468 fwd="88.104.38.208" dyno=web.1 connect=0ms service=10ms status=404 bytes=4732 protocol=https
2021-06-08T16:17:29.107528+00:00 heroku[router]: at=info method=GET path="/static/js/javascript.js" host=mathewsjoy.herokuapp.com request_id=7a35bc07-6d78-4f6a-b088-dd8c71ef9ac6 fwd="88.104.38.208" dyno=web.1 connect=1ms service=21ms status=304 bytes=181 protocol=https
2021-06-08T16:17:29.090002+00:00 heroku[router]: at=info method=GET path="/static/css/contactme.css" host=mathewsjoy.herokuapp.com request_id=0d8fef3d-c6c4-4ca5-be46-05494833be50 fwd="88.104.38.208" dyno=web.1 connect=1ms service=16ms status=304 bytes=181 protocol=https
2021-06-08T16:17:29.098962+00:00 heroku[router]: at=info method=GET path="/static/css/portfolio.css" host=mathewsjoy.herokuapp.com request_id=dcf11820-ed54-4661-ba8e-3a0244ce6aa9 fwd="88.104.38.208" dyno=web.1 connect=1ms service=17ms status=304 bytes=181 protocol=https
2021-06-08T16:17:29.263884+00:00 heroku[router]: at=info method=GET path="/static/images/site_images/loading.gif" host=mathewsjoy.herokuapp.com request_id=f36e56c7-3bdc-4c5a-9fcc-2cef04ff50fc fwd="88.104.38.208" dyno=web.1 connect=1ms service=29ms status=304 bytes=179 protocol=https
2021-06-08T16:17:29.260967+00:00 app[web.1]: 10.63.235.92 - - [08/Jun/2021:16:17:29 +0000] "GET /static/images/site_images/loading.gif HTTP/1.1" 304 0 "https://mathewsjoy.herokuapp.com/login" "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/91.0.4472.77 Safari/537.36"
2021-06-08T16:17:30.056860+00:00 heroku[router]: at=info method=GET path="/static/images/site_images/personal_logo_cropped.png" host=mathewsjoy.herokuapp.com request_id=9436340f-e90e-4349-865f-41a3142bdc39 fwd="88.104.38.208" dyno=web.1 connect=2ms service=6ms status=304 bytes=193 protocol=https
2021-06-08T16:17:30.055228+00:00 app[web.1]: 10.63.235.92 - - [08/Jun/2021:16:17:30 +0000] "GET /static/images/site_images/personal_logo_cropped.png HTTP/1.1" 304 0 "https://mathewsjoy.herokuapp.com/login" "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/91.0.4472.77 Safari/537.36"
我还在heroku命令行上设置了env变量,我看到了您的存储库,您正在使用site.db means sqlite。问题是。您应该使用heroku中的插件来存储数据 转到概述选项卡>单击配置加载项>搜索heroku postgres>选择加载项类型(免费或付费)>如果要查看
数据库URL
>用此替换SQLALCHEMY\u数据库URI
,请转到设置中的配置变量
SQLALCHEMY_DATABASE_URI = os.environ.get('SQLALCHEMY_DATABASE_URL')
安装
psycopg2
并添加到requirements.txt。当代码运行时,您应该在文件中写入或记录一些信息,以查看执行的代码部分以及变量中包含的内容。也许这样你会发现问题的根源。也许问题不在于ReCaptcha,而在于数据库或邮件。你没有显示视图
,因此我们不知道你在对表单中的数据做什么。如果你看一下,我可以向你显示我的视图。我的网站昨天写得很好。我已将登录视图添加到question@furas这是完整的代码我追踪到了网站上的所有其他工作,但是在heroku上,登录和注册没有任何作用,就像它只是刷新和保持不变一样,也没有flash消息,但是在我的本地主机上,一切都很好,我该怎么做呢,idk为什么现在不使用数据库它在herokuyep上工作吗?我昨天部署的它似乎工作得很好,现在我测试它,只是不做任何事情。你可以访问我的网站并尝试我的github还有链接。该网站的代码是flask应用程序,我想问题出在第42行users/routes.py上。代码似乎从未执行过,它执行第53行第42行下面的代码,并打印一条语句来验证它。
2021-06-08T16:17:19.935726+00:00 app[web.1]: 10.9.246.15 - - [08/Jun/2021:16:17:19 +0000] "GET /static/images/site_images/CV.pdf HTTP/1.1" 200 0 "https://mathewsjoy.herokuapp.com/index" "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/91.0.4472.77 Safari/537.36"
2021-06-08T16:17:19.943496+00:00 heroku[router]: at=info method=GET path="/static/images/site_images/CV.pdf" host=mathewsjoy.herokuapp.com request_id=dc53339a-c6b2-4c4f-971a-55e293282d5e fwd="47.31.223.249" dyno=web.1 connect=1ms service=13ms status=200 bytes=121110 protocol=https
2021-06-08T16:17:26.044007+00:00 heroku[router]: at=info method=GET path="/static/images/site_images/CV.pdf" host=mathewsjoy.herokuapp.com request_id=8636fb32-7d00-43dd-9ccf-1432778cdeb9 fwd="47.31.223.249" dyno=web.1 connect=1ms service=29ms status=200 bytes=121110 protocol=https
2021-06-08T16:17:26.036465+00:00 app[web.1]: 10.30.121.23 - - [08/Jun/2021:16:17:26 +0000] "GET /static/images/site_images/CV.pdf HTTP/1.1" 200 0 "https://mathewsjoy.herokuapp.com/index" "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/91.0.4472.77 Safari/537.36"
2021-06-08T16:17:28.652326+00:00 app[web.1]: 10.95.230.181 - - [08/Jun/2021:16:17:28 +0000] "POST /login HTTP/1.1" 200 6969 "https://mathewsjoy.herokuapp.com/login" "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/91.0.4472.77 Safari/537.36"
2021-06-08T16:17:28.885252+00:00 app[web.1]: 10.95.230.181 - - [08/Jun/2021:16:17:28 +0000] "GET /jquery-2.1.4.js HTTP/1.1" 404 4570 "https://mathewsjoy.herokuapp.com/login" "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/91.0.4472.77 Safari/537.36"
2021-06-08T16:17:28.653253+00:00 heroku[router]: at=info method=POST path="/login" host=mathewsjoy.herokuapp.com request_id=3022e0fd-bdf0-4b49-99f3-77f507293d5b fwd="88.104.38.208" dyno=web.1 connect=0ms service=127ms status=200 bytes=7289 protocol=https
2021-06-08T16:17:29.002245+00:00 heroku[router]: at=info method=GET path="/static/css/main.css" host=mathewsjoy.herokuapp.com request_id=34f2d5e9-b4fa-4cb8-be39-b259258ea129 fwd="88.104.38.208" dyno=web.1 connect=0ms service=6ms status=304 bytes=176 protocol=https
2021-06-08T16:17:29.001184+00:00 app[web.1]: 10.95.230.181 - - [08/Jun/2021:16:17:28 +0000] "GET /static/css/main.css HTTP/1.1" 304 0 "https://mathewsjoy.herokuapp.com/login" "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/91.0.4472.77 Safari/537.36"
2021-06-08T16:17:29.088821+00:00 app[web.1]: 10.63.102.120 - - [08/Jun/2021:16:17:29 +0000] "GET /static/css/contactme.css HTTP/1.1" 304 0 "https://mathewsjoy.herokuapp.com/login" "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/91.0.4472.77 Safari/537.36"
2021-06-08T16:17:29.096835+00:00 app[web.1]: 10.9.143.150 - - [08/Jun/2021:16:17:29 +0000] "GET /static/css/portfolio.css HTTP/1.1" 304 0 "https://mathewsjoy.herokuapp.com/login" "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/91.0.4472.77 Safari/537.36"
2021-06-08T16:17:29.106037+00:00 app[web.1]: 10.63.235.92 - - [08/Jun/2021:16:17:29 +0000] "GET /static/js/javascript.js HTTP/1.1" 304 0 "https://mathewsjoy.herokuapp.com/login" "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/91.0.4472.77 Safari/537.36"
2021-06-08T16:17:28.886067+00:00 heroku[router]: at=info method=GET path="/jquery-2.1.4.js" host=mathewsjoy.herokuapp.com request_id=de7012c1-6701-48f2-a9b1-86fd86c10468 fwd="88.104.38.208" dyno=web.1 connect=0ms service=10ms status=404 bytes=4732 protocol=https
2021-06-08T16:17:29.107528+00:00 heroku[router]: at=info method=GET path="/static/js/javascript.js" host=mathewsjoy.herokuapp.com request_id=7a35bc07-6d78-4f6a-b088-dd8c71ef9ac6 fwd="88.104.38.208" dyno=web.1 connect=1ms service=21ms status=304 bytes=181 protocol=https
2021-06-08T16:17:29.090002+00:00 heroku[router]: at=info method=GET path="/static/css/contactme.css" host=mathewsjoy.herokuapp.com request_id=0d8fef3d-c6c4-4ca5-be46-05494833be50 fwd="88.104.38.208" dyno=web.1 connect=1ms service=16ms status=304 bytes=181 protocol=https
2021-06-08T16:17:29.098962+00:00 heroku[router]: at=info method=GET path="/static/css/portfolio.css" host=mathewsjoy.herokuapp.com request_id=dcf11820-ed54-4661-ba8e-3a0244ce6aa9 fwd="88.104.38.208" dyno=web.1 connect=1ms service=17ms status=304 bytes=181 protocol=https
2021-06-08T16:17:29.263884+00:00 heroku[router]: at=info method=GET path="/static/images/site_images/loading.gif" host=mathewsjoy.herokuapp.com request_id=f36e56c7-3bdc-4c5a-9fcc-2cef04ff50fc fwd="88.104.38.208" dyno=web.1 connect=1ms service=29ms status=304 bytes=179 protocol=https
2021-06-08T16:17:29.260967+00:00 app[web.1]: 10.63.235.92 - - [08/Jun/2021:16:17:29 +0000] "GET /static/images/site_images/loading.gif HTTP/1.1" 304 0 "https://mathewsjoy.herokuapp.com/login" "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/91.0.4472.77 Safari/537.36"
2021-06-08T16:17:30.056860+00:00 heroku[router]: at=info method=GET path="/static/images/site_images/personal_logo_cropped.png" host=mathewsjoy.herokuapp.com request_id=9436340f-e90e-4349-865f-41a3142bdc39 fwd="88.104.38.208" dyno=web.1 connect=2ms service=6ms status=304 bytes=193 protocol=https
2021-06-08T16:17:30.055228+00:00 app[web.1]: 10.63.235.92 - - [08/Jun/2021:16:17:30 +0000] "GET /static/images/site_images/personal_logo_cropped.png HTTP/1.1" 304 0 "https://mathewsjoy.herokuapp.com/login" "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/91.0.4472.77 Safari/537.36"
SQLALCHEMY_DATABASE_URI = os.environ.get('SQLALCHEMY_DATABASE_URL')