具有会话TypeError的最后使用页面的Flask列表

时间:2017-01-20 17:55:07

标签: python flask

我正在尝试制作用户最近访问过的网页列表,但我不断获得TypeError: store_visited_urls() takes no arguments (1 given)。 我不知道如何给出一个论点。

Python / Flask代码:

app.secret_key = '/r/xd8}q/xde/x13/xe5F0/xe5/x8b/x96A64/xf2/xf8MK/xb1/xfdA7x8c'

def recentsites():
    session['urls'] = []

@app.after_request
def store_visited_urls():
    session['urls'].append(request.url)
    if(len[session['urls']]) > 3:
        session['urls'].pop(0)
    session.modified = True

@app.route('/')
def index():
    data = []
    if 'urls' in session:
        data = session['urls']
    return render_template('index.html', data=data)

1 个答案:

答案 0 :(得分:-1)

我认为作为一个函数,它会自动将self作为参数。创建类时,此参数作为调用的一部分包含在内。

定义def store_visited_urls(self):但继续不带参数调用它。

从它看起来的方式session必须在课堂上定义。因此,您将引用self.session,以便在实例化类时将其拾取。

请参阅What is the purpose of self?以获取解释。

我看到您正在使用装饰器请参阅Decorators I: Introduction to Python DecoratorsA guide to Python's function decoratorsPython DecoratorsPrimer on Python Decorators