在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上去了,所以才会这样.