Python URL中的可选参数
我有一个端点:Python URL中的可选参数,python,python-3.x,flask,Python,Python 3.x,Flask,我有一个端点: @register_endpoint.route('/<string:token>/verify', methods=['GET']) def display_register_form(token): error = None decrypted_token = SecureMessage().decrypt(token) user_data = json.loads(decrypted_token) form = RegisterA
@register_endpoint.route('/<string:token>/verify', methods=['GET'])
def display_register_form(token):
error = None
decrypted_token = SecureMessage().decrypt(token)
user_data = json.loads(decrypted_token)
form = RegisterAccountForm()
return render_template("auth/account_validation.html", form=form, error=error, user_data=user_data)
@register_endpoint.route('/<string:token>/verify', methods=['POST'])
def register_account():
form = SignupForm(request.form)
if form.validate_on_submit():
email = form.email.data
first_name = form.first_name.data
last_name = form.last_name.data
password = form.password.data
json_user = json.dumps({"first_name": first_name, "last_name": last_name, "email": email, "password": password})
response = requests.post("http://0.0.0.0:5000/api/v1/accounts", json=json_user)
if response.status_code == 200:
return redirect(url_for('account.signin'))
我怎样才能解决这个问题?我可以将令牌设置为可选的吗?解决我的问题的最佳架构是什么?可能的重复:@mel尝试将('register.register\u account')的
url\u更改为('register.register\u account',token=form.csrf\u token)
。在您的路由中,令牌是必需的参数。顺便说一句,您忘了将arg令牌添加到register\u帐户
<form action="{{ url_for('register.register_account') }}" method="post">
<input name="first_name" class="user" type="text" required="" placeholder="{{ user_data["first_name"] }}" disabled/><br>
<input name="first_name" class="user" type="text" required="" placeholder="{{ user_data["last_name"] }}" disabled/><br>
<input name="email" class="user" type="text" required="" placeholder="{{ user_data["email"] }}" disabled/><br>
<input placeholder="Password" name="password" class="pass" type="password" required=""><br>
<input placeholder="Password verification" name="password_verification" class="pass" type="password" required=""><br>
{{ form.csrf_token }}
<input type="submit" value="">
</form>
Could not build url for endpoint 'register.register_account'. Did you forget to specify values ['token']?