I am working on a server and using flask as the webframework and I came across this error.
TypeError: Challenge() takes exactly 3 arguments (1 given)
even though I send 3 arguments to Challenge

Here are the codes:

```
def login_required(test):
    @wraps(test)
    def wrap(*args, **kwargs):
        if 'Logged_In' in session:
            return test(*args, **kwargs)
        else:
            flash('You need to login first.')
            return redirect(url_for('login'))
    return wrap

if request.method == 'POST':
        if request.form['button'] == 'Challenge':
            game = session['User'] + ',' + profUser + ',' + datetime.datetime.now().strftime("%Y-%m-%d %H:%M:%S")
            return redirect(url_for('Challenge', game=game, white=session['User'], black=profUser))

@app.route('/<game>')
@login_required
def Challenge(game, white, black):
    if session['User'] == white:
        side = "white"
    if session['User'] == black:
        side = "black"
    else:
        side = None
    return render_template('game.html', game=game, user=session['User'], side=side)

```