【问题标题】:Flask+Gunicorn+Nginx occur AttributeError "NoneType" has no attributeFlask+Gunicorn+Nginx 发生AttributeError "NoneType" has no attribute
【发布时间】:2017-02-26 17:50:20
【问题描述】:

我正在阅读 Flask Web Development 这本书,现在我已经在 VPS 上部署了我的应用程序。 我可以使用 IP 访问我的索引页面。 但是当我尝试点击登录按钮时(您可以填写信息或注册帐户的页面) 发生如下报警。 我完全不明白......为什么它说烧瓶登录的响应是NoneType, 并且没有属性“set_cookie”“delete_cookie”。

报警信息请看这里

“登录”路由的views.py代码如下

from flask import render_template,redirect,request,url_for,flash
from flask.ext.login import login_user,current_user
from . import auth
from ..models import User
from .forms import LoginForm,RegistrationForm,ChangePasswordForm,PasswordResetRequestForm,PasswordResetForm,ChangeEmailForm
from flask.ext.login import logout_user,login_required
from app import db
from ..email import send_email

@auth.route('/login',methods=['GET','POST'])       
def login():
    form=LoginForm()
    if form.validate_on_submit():
        user=User.query.filter_by(email=form.email.data).first()
        if user is not None and user.verify_password(form.password.data):
            login_user(user,form.remember_me.data)
            return redirect(request.args.get('next')or url_for('main.index'))
        flash('Invalid username or password.')
    return render_template('auth/login.html',form=form)

@auth.before_app_request
def before_request():
    if current_user.is_authenticated:
        current_user.ping()
        if not current_user.confirmed and request.endpoint[:5] !='auth.':
            return redirect(url_for('auth.unconfirmed'))

请给我一些建议,如果需要更多信息,请告诉我 提前非常感谢!

【问题讨论】:

    标签: python html nginx flask


    【解决方案1】:

    我终于找到了问题所在。 这是由另一个文件 /main/views.py 引起的 在文件末尾,有一个用于测试响应时间的函数,它返回响应对象,但我在该行中添加了一个额外的缩进。 我取消一个缩进后,它就可以正常工作了。

    @main.after_app_request
    def after_request(response):
        for query in get_debug_queries():
            if query.duration >= current_app.config['FLAKSY_SLOW_DB_QUERY_TIME']:
                current_app.logger.warning('Slow query: %s\nParameters: %s\nDuration: %fs\nContext: %s\n' %
                    (query.statement, query.parameters, query.duration,
                    query.context))
        return response
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2022-12-15
      • 2017-10-20
      • 2022-01-10
      • 2020-06-17
      • 2014-05-18
      • 2022-08-15
      • 1970-01-01
      • 2019-07-10
      相关资源
      最近更新 更多