Python中大家用什么django json rpc框架?

我是 Django 新手,之前一直用 Flask,最近想尝试一下 Django, 想知道大家用什么 django-jsonrpc.

https://github.com/samuraisam/django-json-rpc

上面这个是能找到 star 最多的,不过最后一次更新都是 3 年前了。他的使用方法感觉都跟 Django2.1 不太一样了
Python中大家用什么django json rpc框架?


1 回复

我目前在项目里主要用 django-json-rpc 这个库,它比较成熟,集成起来也方便。给你个简单的例子:

首先安装:

pip install django-json-rpc

然后在 settings.py 里添加:

INSTALLED_APPS = [
    # ...其他应用
    'jsonrpc',
]

ROOT_URLCONF = 'your_project.urls'

urls.py 里配置路由:

from django.urls import path
from jsonrpc import jsonrpc_site
import yourapp.views as views

urlpatterns = [
    path('jsonrpc/', jsonrpc_site.dispatch, name='jsonrpc'),
]

创建你的RPC方法,比如在 views.py 里:

from jsonrpc import jsonrpc_method

@jsonrpc_method('app.add')
def add_numbers(request, a, b):
    return a + b

@jsonrpc_method('app.get_user')
def get_user_info(request, user_id):
    # 这里写你的业务逻辑
    return {'id': user_id, 'name': 'John Doe'}

客户端调用示例(Python):

import requests
import json

payload = {
    "jsonrpc": "2.0",
    "method": "app.add",
    "params": [5, 3],
    "id": 1
}

response = requests.post(
    'http://localhost:8000/jsonrpc/',
    json=payload,
    headers={'Content-Type': 'application/json'}
)

result = response.json()
print(result)  # 会返回 {"jsonrpc": "2.0", "result": 8, "id": 1}

这个框架支持JSON-RPC 2.0规范,有基本的错误处理,文档也还算清楚。如果项目简单,用这个就够了。要是需要更高级的功能,比如API文档自动生成或者更复杂的验证,可以看看 django-rest-framework 加上 JSON-RPC 的扩展。

简单说,django-json-rpc 是 Django 里做 JSON-RPC 比较直接的选择。

回到顶部