我相信这已经被问过了,但我已经搜索了几个小时,找不到任何工作,所以提前道歉。我在网上学习用Python编写代码还处于初级阶段,为了让它成为我自己的课程,我对Python有些偏离。你知道吗
当用户注册帐户时,如果用户名已经被占用,我想返回一个错误。否则创建帐户并重定向到登录页。但是我不知道如何定义if语句来返回正确的控制台响应,因为它当前只返回用户。我希望它返回success/error,并使用ajax捕获这个响应。你知道吗
到目前为止,我的注册模式是:
class RegisterModel:
def __init__(self):
self.client = MongoClient()
self.db = self.client.codewizard
self.Users = self.db.users
def insert_user(self, data):
existing_user = self.Users.find_one({"username": data.username})
if existing_user:
pymsgbox.native.alert('Username already taken!', 'Title')
else:
hashed = bcrypt.hashpw(data.password.encode(), bcrypt.gensalt())
id = self.Users.insert({"username": data.username, "name": data.name, "password": hashed, "email": data.email})
print("uid is", id)
pymsgbox.native.alert('Account created, please login!', 'Title')
以及控制器:
class PostRegistration:
def POST(self):
data = web.input()
reg_model = RegisterModel.RegisterModel()
reg_model.insert_user(data)
return data.username
最后是javascript(没有用if语句完成)
$(document).on("submit", "#register-form", function(e){
e.preventDefault();
var form = $('#register-form').serialize();
$.ajax({
url: '/postregistration',
type: 'POST',
data: form,
success: function(response){
console.log(response);
}
});
});
pymsgbox
将被Javascript替换,当我可以让它工作时!你知道吗
我想出来了:
控制器:
然后在register model
if
语句中返回“error”。你知道吗相关问题 更多 >
编程相关推荐