相关疑难解决方法(0)

如何在路由器上注册单个视图(而不是视图集)?

我正在使用Django REST框架,并一直在尝试创建一个返回一小部分信息的视图,并在我的路由器上注册它.

我有四个存储信息的模型,所有模型都有一个created_time字段.我试图在一个视图中创建一个返回最新对象(基于created_time)的视图,其中只返回四个创建时间.

因此,视图中可能的JSON输出看起来像

{
    "publish_updatetime": "2015.05.20 11:53",
    "meeting_updatetime": "2015.05.20 11:32",
    "training_updatetime": "2015.05.20 15:25",
    "exhibiting_updatetime": "2015.05.19 16:23"
}
Run Code Online (Sandbox Code Playgroud)

我也希望在我的路由器上注册这个视图,因此当加载API根时,它会显示在我的其他端点上.

router.register(r'updatetime', views.UpdateTimeView)
Run Code Online (Sandbox Code Playgroud)

以下是我尝试使用的四种型号

class Publish(models.Model):
    user = models.ForeignKey(MyUser)
    name = models.CharField(max_length=50)
    created_time = models.DateTimeField( default=datetime.now)

class Meeting(models.Model):
    user = models.ForeignKey(MyUser)
    name = models.CharField(max_length=50)
    file_addr = models.FileField(upload_to=get_file_path)
    created_time = models.DateTimeField(default=datetime.now)

class Training(models.Model):
    user = models.ForeignKey(MyUser)
    name = models.CharField(max_length=50)
    image = models.ImageField(upload_to=get_file_path, max_length=255)
    created_time = models.DateTimeField(default=datetime.now)

class Exhibiting(models.Model):
    user = models.ForeignKey(MyUser)
    name = models.CharField(max_length=50)
    file_addr = models.FileField(upload_to=get_file_path)
    created_time = …
Run Code Online (Sandbox Code Playgroud)

python django django-rest-framework

46
推荐指数
1
解决办法
8758
查看次数

使用Django Rest Framework的可浏览API和APIViews?

如果我有一个看法:

class MyAPIView(APIView):
    def get(self, request, name=None):
        return {"hello": name or "world"}
Run Code Online (Sandbox Code Playgroud)

如何将生成的文档中包含的内容包含在内?具体来说,如何将其包含在API Root中,以便在我访问" http://example.com/api/ "时显示?

文档包含带有描述的APIView 的示例,但没有描述实际将其包含在API浏览器中的过程.

django-rest-framework

37
推荐指数
3
解决办法
1万
查看次数

在Django Rest Framework中路由API视图?

使用Django Rest Framework 有路由APIViews(即,不是 ViewSets)的常见模式吗?

例如,如果我有一个带有可选参数的API视图:

class ReportView(APIView):
    def get(self, request, report_name=None):
         # … stuff …
         return Response(report)
Run Code Online (Sandbox Code Playgroud)

是否有任何标准模式 - 除了写出标准的Django URL路由器 - 用于路由该视图?

django-rest-framework

18
推荐指数
2
解决办法
4993
查看次数

标签 统计

django-rest-framework ×3

django ×1

python ×1