构建基于校友会系统的网页版平台
小明:嗨,小李,我最近在做一个校友会系统的网页版,但遇到了一些问题,能帮我看看吗?
小李:当然可以!你先简单介绍一下你的需求吧。
小明:好的。这个系统需要记录校友的基本信息(如姓名、联系方式等),还需要提供登录功能以及查询校友的功能。
小李:明白了,那我们先从后端开始吧。你用的是什么语言和框架呢?
小明:我打算用Python的Flask框架,你觉得怎么样?
小李:不错的选择!Flask轻量级且灵活。首先,我们需要定义模型,比如用户表。你可以试试这样的代码:
from flask_sqlalchemy import SQLAlchemy
db = SQLAlchemy()
class User(db.Model):
id = db.Column(db.Integer, primary_key=True)
name = db.Column(db.String(80), nullable=False)
email = db.Column(db.String(120), unique=True, nullable=False)
phone = db.Column(db.String(20))
def __repr__(self):
return f"<User {self.name}>"
小明:这看起来很清晰,接着呢?
小李:接下来是路由部分,比如注册和登录功能。这是简单的示例:
from flask import Flask, request, jsonify
app = Flask(__name__)
@app.route('/register', methods=['POST'])
def register():
data = request.get_json()
new_user = User(name=data['name'], email=data['email'], phone=data['phone'])
db.session.add(new_user)
db.session.commit()
return jsonify({"message": "User added successfully"}), 201
小明:哇,这样就完成了基本的注册功能了!那登录怎么实现呢?
小李:登录可以通过邮箱验证身份,代码如下:
@app.route('/login', methods=['POST'])
def login():
data = request.get_json()
user = User.query.filter_by(email=data['email']).first()
if user and user.password == data['password']:
return jsonify({"message": "Login successful", "userId": user.id}), 200
else:
return jsonify({"message": "Invalid credentials"}), 401
小明:太棒了!最后一个问题,前端页面怎么处理?
小李:你可以使用HTML+JavaScript,结合Ajax调用API。例如,用jQuery发送请求:
$.ajax({
url: '/register',
type: 'POST',
data: JSON.stringify(user_data),
contentType: 'application/json',
success: function(response) {
alert('Registered successfully!');
},
error: function() {
alert('Error occurred.');
}
});
]]>
本站知识库部分内容及素材来源于互联网,如有侵权,联系必删!