Python 烧瓶dosen';不工作。方法不允许405
如果从一开始我就开始使用Register Page,它会工作,但如果我使用int html,则指向Register Page的超链接将停止工作并打印(405方法不允许/请求的URL不允许该方法)。 以下是我的python代码(运行和导入除外): 我使用的是python 3.8Python 烧瓶dosen';不工作。方法不允许405,python,flask,Python,Flask,如果从一开始我就开始使用Register Page,它会工作,但如果我使用int html,则指向Register Page的超链接将停止工作并打印(405方法不允许/请求的URL不允许该方法)。 以下是我的python代码(运行和导入除外): 我使用的是python 3.8 app = Flask(__name__) @app.route("/") def main(): return render_template("MainFacut.html&qu
app = Flask(__name__)
@app.route("/")
def main():
return render_template("MainFacut.html")
@app.route("/register")
def register():
return render_template("Register.html")
@app.route("/register",methods=["GET","POST"])
def settingData():
FullName = request.form['fullname']
Age = int(request.form['age'])
try:
Gender = request.form['Option']
except Exception as ex:
return render_template("Register.html",n = "Gender not selected")
UserName = request.form['username']
Email = request.form['email']
Pass1 = request.form['password']
Pass2 = request.form['password0']
if Age < 13 or Age > 110:
return render_template("Register.html",n = "Age not corresspond")
if Email == "" or FullName == "" or Age == "":
return render_template("Register.html", n = "Not completed spaces!")
if Pass1 != Pass2:
return render_template("Register.html",n = list_of_errors[3])
if len(Pass1) < 6:
return render_template("Register.html",n = "A password have atleast 6 characters")
freespace = validate_existence(UserName)
if freespace == 1:
return render_template("Register.html",n = "User already exist!")
create_NewUser(UserName,FullName,Age,Pass1,Email,"","","","","")
return render_template("after.html",n = "succes")
@app.route("/login")
def login():
return render_template("py.html")
@app.route('/login',methods=["GET","POST"])
def getingData():
UserName = request.form['username']
Password = request.form['password']
step = validate(UserName,Password)
if Password == "":
return render_template('py.html', n=list_of_errors[2])
if UserName == "":
return render_template('py.html', n = list_of_errors[1])
if step == 0:
return render_template('py.html',n=list_of_errors[0])
return render_template('after.html',n = 'Succes')
if (__name__ == "__main__"):
app.run(debug=True)
app=Flask(\uuuuu name\uuuuuu)
@附件路线(“/”)
def main():
返回渲染模板(“MainFacut.html”)
@应用程序路径(“/注册”)
def寄存器():
返回呈现模板(“Register.html”)
@app.route(“/register”,methods=[“GET”,“POST”])
def设置数据():
FullName=request.form['FullName']
Age=int(request.form['Age'])
尝试:
性别=请求。表单['Option']
例外情况除外,例如:
返回渲染模板(“Register.html”,n=“未选择性别”)
用户名=请求。表单['UserName']
电子邮件=请求。表格['Email']
Pass1=request.form['password']
Pass2=request.form['password0']
如果年龄<13岁或年龄>110岁:
返回渲染模板(“Register.html”,n=“Age not corresspond”)
如果电子邮件==“”或全名==“”或年龄==“”:
返回渲染模板(“Register.html”,n=“未完成空格!”)
如果通过1!=密码2:
返回呈现模板(“Register.html”,n=错误列表[3])
如果len(Pass1)<6:
返回呈现模板(“Register.html”,n=“密码至少包含6个字符”)
freespace=验证是否存在(用户名)
如果自由空间==1:
返回呈现模板(“Register.html”,n=“用户已存在!”)
创建新用户(用户名、全名、年龄、密码1、电子邮件、“”、“”、“”、“”、“”、“”、“”)
返回渲染模板(“after.html”,n=“succes”)
@app.route(“/login”)
def login():
返回渲染模板(“py.html”)
@app.route('/login',methods=[“GET”,“POST”])
def getingData():
用户名=请求。表单['UserName']
密码=请求。表单['Password']
步骤=验证(用户名、密码)
如果密码==“”:
返回呈现模板('py.html',n=错误列表[2])
如果用户名==“”:
返回渲染模板('py.html',n=错误列表[1])
如果步骤==0:
返回渲染模板('py.html',n=错误列表[0])
返回呈现模板('after.html',n='Succes')
如果(\uuuuu name\uuuuuu==“\uuuuuu main\uuuuuu”):
app.run(debug=True)
当我使用“/reg”时,我的烧瓶应用程序无法工作
这是使用的html:
<div class="loginbox">
<img src="{{url_for('static',filename = 'Logo_Appelle.png')}}" class="avatar">
<h1>Create an account</h1>
<h1>{{n}}</h1>
<form name="APPelle" action="." method="POST">
<div class="row">
<div class="column" style="background-color:#060517;">
<p>Full Name</p>
<input type="text" name="fullname" placeholder="Enter Full Name"><br><br>
<p>Age</p>
<input type="text" name="age" placeholder="Enter Age"><br><br>
<p>Gender</p>
<input type="radio" name="Option" id="male" name="gender" value="male">
<label for="male">Male</label>
<input type="radio" name="Option" id="female" name="gender" value="female">
<label for="female">Female</label><br><br>
<button class="button">Register</button>
</div>
<div class="column" style="background-color:#03050d;">
<p>Username</p>
<input type="text" name="username" placeholder="Enter Username"><br><br>
<p>Email</p>
<input type="text" name="email" placeholder="Enter Email"><br><br>
<p>Password</p>
<input type="password" name="password" placeholder="Enter Password">
<input type="password" name="password0" placeholder="Confirm Password"><br><br>
</div>
</div>
</form>
</div>
</form>
</body>
</head>
</html
创建帐户
{{n}}
全名
年龄
性别
男性
女性
登记
用户名
电子邮件
密码
删除未声明其冲突路径的方法(POST和get)的路由。
和方法名称应与路由路径相同
@app.route("/login")
def login():
return render_template("py.html")
@app.route('/login',methods=["GET","POST"])
def getingData():
UserName = request.form['username']
Password = request.form['password']
step = validate(UserName,Password)
if Password == "":
....
....
应该是
@app.route('/login',methods=["GET","POST"])
def login():
UserName = request.form['username']
Password = request.form['password']
step = validate(UserName,Password)
if Password == "":
...
...