Python 有没有其他方法可以在django中请求JSON REST API?

Python 有没有其他方法可以在django中请求JSON REST API?,python,django,rest,django-rest-framework,Python,Django,Rest,Django Rest Framework,我目前有一个使用Django REST框架的完全工作的序列化程序。 我希望能够解析数据或请求可以在django应用程序中使用的数据。 我一直在使用 import requests r = requests.get('django_api_url') data = json.loads(r.text) 我使用它没有问题,但我正在尝试看看是否有更好/更快的方法。 编辑: 基本上是在寻找替代请求的东西。get()尝试data=r.json()以消除对json.loads(r.text) 由于您试图在

我目前有一个使用Django REST框架的完全工作的序列化程序。 我希望能够解析数据或请求可以在django应用程序中使用的数据。 我一直在使用

import requests
r = requests.get('django_api_url')
data = json.loads(r.text)
我使用它没有问题,但我正在尝试看看是否有更好/更快的方法。 编辑: 基本上是在寻找替代请求的东西。get()

尝试
data=r.json()
以消除对
json.loads(r.text)


由于您试图在后端访问数据,因此可以在干净的python文件中执行此操作,只需导入模型和序列化程序,然后根据需要使用它们即可。例如:

from api_app.models import Model1, Model2
from api_app.serializers import ModelSerializer1, ModelSerializer2

def get_model1_instance():
    m1 = Model1.get(pk=1)
    m1_data = ModelSerializer1(m1).data
    print(m1_data)
$ python manage.py shell
> from access_api_data.py import get_model1_instance
> get_model1_instance()
...
需要了解的重要一点是,您不能只运行这个python文件。因为它使用的是django库和django项目代码,所以它必须从django的上下文中运行。实现这一点的方法是使用命令
python manage.py shell
打开django shell,从文件中导入要运行的函数,然后调用这些函数。在django shell中导入和运行代码时,它会像在django应用程序中一样运行文件。例如:

from api_app.models import Model1, Model2
from api_app.serializers import ModelSerializer1, ModelSerializer2

def get_model1_instance():
    m1 = Model1.get(pk=1)
    m1_data = ModelSerializer1(m1).data
    print(m1_data)
$ python manage.py shell
> from access_api_data.py import get_model1_instance
> get_model1_instance()
...

如果您想在实际的web应用程序中调用您在后端中写入此文件的函数,您可以将该文件中的函数导入到视图中并调用它们,它们应该可以工作。

tommy,您是否正在尝试从后端的应用程序中访问数据?您能提供更多的上下文来说明您正在尝试做什么,这需要您向python中的RESTAPI发出请求吗?@RohanVarma是的,这正是我正在做的。我尝试不使用django查询,而是使用已序列化的数据。是否有属性可以插入
ModelSerializer(m1)的
'm1'
。数据可以让我访问特定对象,而无需从api\u应用程序执行
。模型导入Model1,Model2
?基本上要做一个
Model1.objects.find(id=1)
,但是在
ModelSerializer()
?我认为这是不可能的。你为什么要尝试适应这种限制?也许如果我知道你想避免什么,我可以想出另一个解决办法