我正在尝试查询一个模型,以检查一个对象是否存在,是否使用以下APIview函数。不幸的是,我无法接收任何响应对象来响应本机apisauce get函数,如下所示
apisauce函数
const checkIfUserExists = (email) =>
client.get("/account/user-exists/?email=" + email);APIView类
class UserExistsView(APIView):
"""Checks if user exists or not"""
def get(self, request, *args, **kwargs):
username = self.request.GET['email']
try:
user = models.UserProfile.objects.get(email=username)
except models.UserProfile.DoesNotExist:
return Response(data={'message': False})
else:
return Response(data={'message': True}) 来自浏览器的结果

我在这里做错什么了?
在shell <Response status_code=200, "text/html; charset=utf-8">上打印结果
发布于 2020-11-01 09:28:05
你可以做得更简单:
class UserExistsView(APIView):
"""Checks if user exists or not"""
def get(self, request, *args, **kwargs):
email = self.request.GET['email']
user_exists = models.UserProfile.objects.filter(email=email).exists()
return Response(
data={'message': user_exists}
)如果您创建了一个QuerySet,然后调用了.exists(),Django将只在对象位于数据库中时调用.exists()函数,但是它不会查询它,这在您从JS调用时要快得多。
发布于 2020-11-01 09:41:13
假设您有一个类库组件,您可以像下面这样修改您的函数,跟踪用户在状态中的存在。我没有在你的服务器端代码中看到任何错误。但是在您的javascript代码中,您没有处理这个承诺。
checkUserExists= (email) => {
client.get("/account/user-exists/?email=" + email)
.then(response=>{
this.setState({isUserExists : response.data.messgae})
)
}https://stackoverflow.com/questions/64624712
复制相似问题