在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 %} <div class="page-header"> <h1>Login</h1> </div> <p> New user? <a href="{{ url_for('auth.register') }}"> Click here to register </a> <div class='col-md-4'> {{ wtf.quick_form(form) }} </div> <br> <br> <br> <br> <br> <a href="{{url_for('auth.password_reset_request')}}">Forget Password?</a> </p> {% endblock %}
以及我的报错信息
有没有前辈碰到过这个问题,请指教有需要添加的信息,请告诉我
解决了问题, 感谢 @citaret 前辈的指点,让我把github上运行的文件重新拉回本地测试。
最后发现在本地运行也有问题,问题出在 main下面的views里面
有一个after_app_request的功能,最后return response的时候,多打了一行缩进,导致了这个问题
正是因为多了一段缩进,导致了没有response返回,变成了NoneType
想起来最后加完这个功能以后没有本地测试直接upload到github上去了,所以才会这样.