Heroku python flask应用程序无法运行,但在本地主机上运行良好?

Heroku python flask应用程序无法运行,但在本地主机上运行良好?,python,sqlite,flask,heroku,Python,Sqlite,Flask,Heroku,基本上我的网站上有些人的标题是这样的:当我尝试登录时,什么也没有发生,我填写了Recpatca输入正确的详细信息,但页面只是刷新,什么也不做,但是当我在本地主机上进行时,它工作正常,我可以登录并正常完成所有事情。 我也尝试过删除recaptcha的内容,在本地主机上运行良好,但在heroku上仍然存在相同的问题。希望有更多知识的人能帮忙。如果需要,我可以链接我的github repo。最初我遇到一个错误,python告诉我安装python dotenv,所以我安装了它并将其添加到requirem

基本上我的网站上有些人的标题是这样的:当我尝试登录时,什么也没有发生,我填写了Recpatca输入正确的详细信息,但页面只是刷新,什么也不做,但是当我在本地主机上进行时,它工作正常,我可以登录并正常完成所有事情。 我也尝试过删除recaptcha的内容,在本地主机上运行良好,但在heroku上仍然存在相同的问题。希望有更多知识的人能帮忙。如果需要,我可以链接我的github repo。最初我遇到一个错误,python告诉我安装python dotenv,所以我安装了它并将其添加到requirements.txt中,并在本地主机上修复了它。但赫罗库还是不肯工作

登录表单

# 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')