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