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 比较直接的选择。

