Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/django/24.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python 如何在django中模拟记录的api?_Python_Django - Fatal编程技术网

Python 如何在django中模拟记录的api?

Python 如何在django中模拟记录的api?,python,django,Python,Django,我已经创建了一个自定义登录所需的装饰器 def login_required(func): def wrapper(request, *args, **kwargs): if request.siteuser: return func(request, *args, **kwargs) else: return HttpResponse(json.dumps({'error': request.siteuser_exception, 'error_c

我已经创建了一个自定义登录所需的装饰器

def login_required(func):
  def wrapper(request, *args, **kwargs):
    if request.siteuser: 
      return func(request, *args, **kwargs)
    else:
      return HttpResponse(json.dumps({'error': request.siteuser_exception, 'error_code': 401}), status=401)

  return wrapper
然后我想用一个api调用用户信息视图,如何创建这个api

url(r'^info$', 'user_info')

@login_required
def user_info(request):
  return request.siteuser

如果我理解正确,您希望通过某种令牌操作系统或其他方式对API用户进行身份验证

from django.contrib.auth import authenticate, login
# default authentication
# user = authenticate(username, password)
user = User.objects.get(custom_filter_that_finds_user=...) 
if user:
    login(request, user)  # this call sets authorizing cookies and makes this user "authorized"

文档:

api是什么意思?它是如何与自定义登录装饰器连接的?我指的是api。我已经解决了,http请求头需要包含参数令牌。我仍然无法理解问题=如何创建此api?,“在django中模拟已记录的api?”-您能更精确地表述它吗?很抱歉,我的英语不是很好。我想说的是:我想用一个api来访问一个经过修饰的long_必需的视图函数。