flask AttributeError: 'TestApp' object has no attribute 'assertRedirects'
时间: 2023-10-28 07:01:24 浏览: 139
这个错误通常发生在测试 Flask 应用程序时,因为 Flask 的测试客户端 TestApp 没有 assertRedirects 方法。相反,您需要使用 Flask 测试工具包中的 assert_status() 方法。
例如,如果您想要检查重定向到另一个 URL,并且它应该返回 302 状态代码,您可以使用以下代码:
```
response = client.get('/some/url')
assert response.status_code == 302
assert response.headers['Location'] == 'http://example.com/redirected/url'
```
请注意,您需要将 client 替换为您的 Flask 应用程序的测试客户端对象。
相关问题
AttributeError: 'Query' object has no attribute 'paginate'
这个错误通常是因为在查询结果上调用了paginate()方法,而不是在查询对象上调用。请确保在查询对象上调用paginate()方法,而不是在查询结果上调用。以下是一个示例代码,演示如何正确地使用paginate()方法:
```python
from flask import Flask, render_template
from flask_sqlalchemy import SQLAlchemy
app = Flask(__name__)
app.config['SQLALCHEMY_DATABASE_URI'] = 'sqlite:///test.db'
db = SQLAlchemy(app)
class User(db.Model):
id = db.Column(db.Integer, primary_key=True)
name = db.Column(db.String(50))
@app.route('/')
def index():
page = request.args.get('page', 1, type=int)
users = User.query.order_by(User.id.asc()).paginate(page=page, per_page=10)
return render_template('index.html', users=users)
if __name__ == '__main__':
app.run(debug=True)
```
阅读全文