html - Flask 报警 NoneType object has no attribute 'delete_cookie'

 悦md悦小坏蛋 发布于 2022-10-27 18:40

在VPS上部署Flask Web开发上面的那个app

Python 3.4 + Gunicorn + Nginx

目前可以通过IP来访问到网站主页,但是,当我点击LOGIN想来转到登录页面的时候,他却报错
NoneType object has no attribute 'delete_cookie'

下面是我的路由代码

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)
    

以下是我的login.html文件

{% extends "base.html" %}
{% import "bootstrap/wtf.html" as wtf %}
{% block title %}Flasky - Login{% endblock %}
{% block page_content %}

Login

New user? Click here to register

{{ wtf.quick_form(form) }}






Forget Password?

{% endblock %}

以及我的报错信息

有没有前辈碰到过这个问题,请指教
有需要添加的信息,请告诉我

1 个回答
  • 解决了问题, 感谢 @citaret 前辈的指点,让我把github上运行的文件重新拉回本地测试。
    最后发现在本地运行也有问题,问题出在 main下面的views里面
    有一个after_app_request的功能,最后return response的时候,多打了一行缩进,导致了这个问题
    正是因为多了一段缩进,导致了没有response返回,变成了NoneType

    想起来最后加完这个功能以后没有本地测试直接upload到github上去了,所以才会这样.

    @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
    2022-10-29 01:46 回答
撰写答案
今天,你开发时遇到什么问题呢?
立即提问
热门标签
PHP1.CN | 中国最专业的PHP中文社区 | PNG素材下载 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有