0
我有一个家庭作业分配到期,因为它几乎完成。但是,我在重定向到另一个模板时遇到了一些问题,欢迎用户提供简短的欢迎和提交后提交的用户名。有人可以看看并告诉我我做错了什么吗?重定向不能使用Python和Flask构建用户注册页面
from flask import Flask, request, redirect, render_template
import cgi
import os
import jinja2
import re
template_dir = os.path.join(os.path.dirname(__file__), 'templates')
jinja_env = jinja2.Environment(loader = jinja2.FileSystemLoader(template_dir), autoescape=True)
app = Flask(__name__)
app.config['DEBUG'] = True
@app.route("/")
def index():
template = jinja_env.get_template('index.html')
return template.render()
@app.route("/validate-signup", methods = ['POST'])
def validate_signup():
username = request.form['username']
password = request.form['password']
verifypword = request.form['verifypword']
email = request.form['email']
user_error = ""
pass_error = ""
verifypass_error = ""
email_error = ""
if not username.isalpha():
user_error = "Please enter User Name"
username = ""
elif not re.match("^[a-zA-Z]{3,7}$", username):
user_error = "Must be between 3 and 25 characters"
username = ""
else:
username = request.form['username']
if not password.isalpha():
pass_error = "Please enter Password"
password = ""
else:
password = request.form['password']
if not verifypword.isalpha():
verifypass_error = "Please enter password"
verifypword = ""
elif verifypword != password:
verifypass_error = "Passwords do not match"
else:
verifypword = request.form['verifypass']
if not re.match("[^@][email protected][^@]+\.[^@]+", email):
email_error = "Email must contain @ and ."
else:
email = request.form['email']
if not pass_error and not user_error and not verifypass_error:
return redirect('/welcome'.format(username))
else:
template = jinja_env.get_template('index.html')
return template.render(user_error = user_error,
pass_error = pass_error,
verifypass_error = verifypass_error,
email_error = email_error,
username = username,
email = email)
@app.route('/welcome', methods = ['POST'])
def welcome():
template = jinja_env.get_template('welcome.html')
return template.render
app.run()
你还没说你的 “小问题”,实际上是什么。 –
请说明问题的要点 – TheTechGuy
请描述您的问题,尽可能详细地提供。 [来自评论](https://stackoverflow.com/review/first-posts/17536445) – LW001