数据库登录.py和注册.py错误显示404未找到文件,无法工作
我想连接数据库,进行正常的登录和注册流程
- 注册时填写的详细信息应该存储在data.db中,并且可以通过登录来检索,这就是我想要的。但是因为我对数据库这些东西还很陌生,所以有点难。
这是我的注册页面的HTML -
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>Signup</title>
<link rel="stylesheet" href="style_signup.css">
</head>
<body>
<header>
<h1 class="logo">Jigoku</h1>
<nav class="navigation">
<a href="../index.html">Home</a>
<a href="../About/about.html">About</a>
<a href="../Download/download.html">Download</a>
<a href="" class="active">Signup</a>
</nav>
</header>
<section>
<img src="/signup/background.jpg" class="back">
</section>
<div class="wrapper">
<div class="form-box">
<h2>Register</h2>
<form action="/signup/Register/register.py" method="post">
<div class="input-box">
<span class="icon"><ion-icon name="Person"></ion-icon></span>
<input type="text" name="username" required>
<label>Username</label>
</div>
<div class="input-box">
<span class="icon"><ion-icon name="mail"></ion-icon></span>
<input type="email" name="email" required>
<label>Email</label>
</div>
<div class="input-box">
<input type="password" name="password" id="password" required>
<label for="password">Password</label>
<ion-icon name="eye" class="icon" onclick="togglePasswordVisibility()"></ion-icon>
</div>
<div class="remember-forget">
<label><input type="checkbox" name="agree">Agree to T&Cs</label>
<a href="../../About/about.html">T&cs Documentations</a>
</div>
<button type="submit" class="btn">Register</button>
<div class="login-register">
<p>Already have an account?<a href="../index_signup.html" class="register-link">Login</a></p>
</div>
</form>
</div>
</div>
<div class="wrapper">
<div class="form-box"></div>
</div>
<script src="script_signup.js"></script>
<script type="module" src="https://unpkg.com/ionicons@7.1.0/dist/ionicons/ionicons.esm.js"></script>
<script nomodule src="https://unpkg.com/ionicons@7.1.0/dist/ionicons/ionicons.js"></script>
</body>
</html>
这是我的登录页面的HTML -
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>Login</title>
<link rel="stylesheet" href="style_signup.css">
</head>
<body>
<header>
<h1 class="logo">Jigoku</h1>
<nav class="navigation">
<a href="../index.html">Home</a>
<a href="../About/about.html">About</a>
<a href="../Download/download.html">Download</a>
<a href="" class="active">Login</a>
</nav>
</header>
<section>
<img src="/signup/background.jpg" class="back">
</section>
<div class="wrapper">
<div class="form-box">
<h2>Login</h2>
<form action="/signup/login.py" method="post">
<div class="input-box">
<span class="icon"><ion-icon name="mail"></ion-icon></span>
<input type="email" name="email" required>
<label>Email</label>
</div>
<div class="input-box">
<input type="password" name="password" id="password" required>
<label for="password">Password</label>
<ion-icon name="eye" class="icon" onclick="togglePasswordVisibility()"></ion-icon>
</div>
<div class="remember-forget">
<label><input type="checkbox" name="remember">Remember me</label>
<a href="#">Forgot password?</a>
</div>
<button type="submit" class="btn">Login</button>
<div class="login-register">
<p>Don't have an account?<a href="./Register/index_signup.html" class="register-link">Register</a></p>
</div>
</form>
</div>
</div>
<div class="wrapper">
<div class="form-box"></div>
</div>
<script src="script_signup.js"></script>
<script type="module" src="https://unpkg.com/ionicons@7.1.0/dist/ionicons/ionicons.esm.js"></script>
<script nomodule src="https://unpkg.com/ionicons@7.1.0/dist/ionicons/ionicons.js"></script>
</body>
</html>
这是我的register.py文件
from flask import Flask, render_template, request, jsonify
import sqlite3
app = Flask(__name__)
@app.route('/signup/Register/register', methods=['GET', 'POST'])
def register():
if request.method == 'POST':
username = request.form['username']
email = request.form['email']
password = request.form['password']
conn = sqlite3.connect('../users.db')
cursor = conn.cursor()
try:
cursor.execute('INSERT INTO users (username, email, password) VALUES (?, ?, ?)', (username, email, password))
conn.commit()
conn.close()
return jsonify({'success': True, 'message': 'Registration successful'})
except sqlite3.IntegrityError:
conn.close()
return jsonify({'success': False, 'message': 'Username or email already exists'})
else:
return render_template('signup/Register/index_signup.html')
if __name__ == '__main__':
app.run(debug=True)
这是我的login.py文件
from flask import Flask, request, jsonify, redirect
import sqlite3
app = Flask(__name__)
@app.route('/login', methods=['POST'])
def login():
email = request.form['email']
password = request.form['password']
conn = sqlite3.connect('users.db')
cursor = conn.cursor()
cursor.execute('SELECT * FROM users WHERE email=? AND password=?', (email, password))
user = cursor.fetchone()
conn.close()
if user:
# Redirect to a success page
return redirect('/success')
else:
# Redirect to a failure page
return redirect('/failure')
if __name__ == '__main__':
app.run(debug=True)
我尝试运行这些Python文件,但出现了404错误,提示文件未找到。在询问GPT后,它说问题很可能出在@app.route(/register)这里,但我对Flask还不太了解,不知道这是什么。
相关问题:
0 个回答
暂无回答