python - 如何使用显示来自某些外部源的响应的 django rest 框架创建 Django API?
问题描述
我处于一种情况,我需要创建一个django api
which on call fromfrontend
给出从其他来源内部获取的响应,而不是从serializers
and models
。目前我正在使用 django rest 框架来创建api
如下
楷模
# Create your models here.
class submission(models.Model):
# fixed fields to show on today panel/pending panel
email_id = models.CharField(max_length=200, primary_key=True)
email_sender = models.CharField(max_length=200, null=True, blank=True)
def __str__(self):
return self.email_id
序列化器
class UserSerializer(serializers.ModelSerializer):
class Meta:
model = submission
fields = ('__all__')
意见
class SAMPLE(viewsets.ModelViewSet):
queryset = submission.objects.all()
serializer_class = UserSerializer
网址
router = DefaultRouter()
# user table
router.register('user_table_all_data', SAMPLE, basename='user_table_all_data')
它很有魅力,但为了和我一起工作,django rest framework
我总是需要这样打电话1. Create model or use existing model,
2. Create serializers,3. Create Views,4. Create URLs
,
但是,如果我不想使用models
say,例如我想显示来自其他来源的数据,say 包含json
如下示例怎么办?
sampleData = {"Name":"RAJNISH","Age":32,"ADDRESS":"India"}
所以如果我API
说'sample/someid (not pk)'
返回响应为
{"Name":"RAJNISH","Age":32,"ADDRESS":"India"}
我怎么能在 django rest 框架中做到这一点?
解决方案
使用基于函数的视图而不是基于类的视图
def sample(request):
return Response(data={"Name":"RAJNISH","Age":32,"ADDRESS":"India"})
推荐阅读
- .net - 实体框架迁移:无法将属性转换为 NotMapped 运行时 getter
- c# - Kestrel 使用 Microsoft.AspNetCore.Authentication.Negotiate 与多个用户
- r - 使用 tidytext 标记单词 - 保留标点符号
- angular - 离子原生存储阻塞 DOM UI
- c - 如何通过子进程创建三个子进程?
- python - 试图让 SKLearn KNN 分类器与 tf-idf 一起使用
- php - PDO 这条线有什么问题?
- java - 如何将 2 个数组列表放入一个哈希图中?
- css - DIV 取其父级的高度
- python - Python:json -> text,如何只写唯一值?