http://localhost:8001/account/info/3 实现此接口怎么建controller
时间: 2023-08-28 12:04:33 浏览: 135
css样式无法加载Refused to apply style from ‘http://localhost:8080/static/css/style.css’ because its MIME
5星 · 资源好评率100%
首先需要创建一个AccountController类,代码如下:
```python
from django.http import JsonResponse
from django.views.decorators.csrf import csrf_exempt
from .models import Account
@csrf_exempt
def account_info(request, account_id):
try:
account = Account.objects.get(id=account_id)
data = {
'id': account.id,
'name': account.name,
'balance': account.balance,
'currency': account.currency,
}
return JsonResponse(data)
except Account.DoesNotExist:
return JsonResponse({'error': 'Account does not exist.'}, status=404)
```
在上面的代码中,我们首先导入了JsonResponse和csrf_exempt模块以及Account模型(假设Account模型已经在models.py中定义好了)。然后,我们定义了一个account_info视图函数,它接收一个request对象和一个account_id参数,表示要查询的账户的id。
在函数中,我们首先尝试通过id获取指定的账户对象。如果找不到对应的账户,我们返回一个404错误。如果找到了账户对象,我们将其信息封装成一个字典,并使用JsonResponse将其转换为JSON格式返回给客户端。
最后,我们使用@csrf_exempt装饰器来禁用Django的CSRF保护机制,以便我们可以在测试时更轻松地发送POST请求。如果您的应用程序需要更好的安全性,请勿禁用CSRF保护机制。
阅读全文