如何编写Django ApiView,根据模型的存在返回布尔值?
我正在使用Django的本机授权/身份验证模型来管理我的WebApp的登录。这将创建如何编写Django ApiView,根据模型的存在返回布尔值?,django,api,django-class-based-views,Django,Api,Django Class Based Views,我正在使用Django的本机授权/身份验证模型来管理我的WebApp的登录。这将创建用户模型的实例 我想编写一个简单的基于类的APIView,它可以告诉我是否已经使用了特定的电子邮件(即:我的数据库中是否已经有一个用户使用了给定的电子邮件?)。我应该从哪个通用视图继承,该视图是什么样子的 谢谢您可以尝试以下方法: 看法 网址: url(r'^something/(?P[\w.%+-]+@[A-Za-z0-9.-]+\[A-Za-z]{2,4})/$,MyView.as_view()),) 我想
用户
模型的实例
我想编写一个简单的基于类的APIView,它可以告诉我是否已经使用了特定的电子邮件(即:我的数据库中是否已经有一个用户使用了给定的电子邮件?)。我应该从哪个通用视图继承,该视图是什么样子的
谢谢您可以尝试以下方法: 看法 网址:
url(r'^something/(?P[\w.%+-]+@[A-Za-z0-9.-]+\[A-Za-z]{2,4})/$,MyView.as_view()),)
我想写一个简单的基于类的APIView,它可以告诉我
已经使用了特定的电子邮件(即:是否已经有用户
我的数据库中有电子邮件吗?)。我应该从哪个通用视图继承
那景色会是什么样子呢
有时候,简单是最好的:
import json
from django.http import HttpResponse
from django.shortcuts import get_object_or_404
from django.views.decorators.http import require_http_methods
from django.contrib.auth import get_user_model()
@require_http_methods(['GET'])
def check_email(request, email=None):
e = get_object_or_404(get_user_model(), email=email)
return HttpResponse(json.dumps({'result': 'Found'}),
content_type="application/json")
没有从generics.APIView继承?当我打开memcaching时,这会正常工作吗?是的,memcaching与此有什么关系?这是一个故意简化的示例。现在,假设我想要一个API,它返回用户对象和匹配的电子邮件(如果存在)。第一次调用此API时,它应该从DB获取用户对象。但是,在随后调用它时,它应该从Memcache返回它(如果且仅当数据库中的底层行保持不变)。我该怎么做??对不起,如果这是一个自己的问题,你应该问你真正的问题,而不是让别人回答理论。它就在指导原则中。我提出了一个不同的问题:从泛型.APIView继承而不是简单地从View继承有什么好处吗?对于这种简单的任务,APIView(django rest框架)肯定有一些好处,使用
View
类应该足够了。
url(r'^something/(?P<email_address>[\w.%+-]+@[A-Za-z0-9.-]+\.[A-Za-z]{2,4})/$',MyView.as_view()),)
import json
from django.http import HttpResponse
from django.shortcuts import get_object_or_404
from django.views.decorators.http import require_http_methods
from django.contrib.auth import get_user_model()
@require_http_methods(['GET'])
def check_email(request, email=None):
e = get_object_or_404(get_user_model(), email=email)
return HttpResponse(json.dumps({'result': 'Found'}),
content_type="application/json")