django-rest-framework:每个 ViewSet 可以有多个模板吗?

     2023-02-24     244

关键词:

【中文标题】django-rest-framework:每个 ViewSet 可以有多个模板吗?【英文标题】:django-rest-framework: Can Ihave multiple templates per ViewSet? 【发布时间】:2020-07-07 01:30:04 【问题描述】:

我为我的模型创建了一个序列化程序和 ViewSet,并为列表视图添加了一个模板。要查看网页(模板),排序渲染类必须正确,并且需要将TemplateHTMLRenderer 添加到渲染器列表中。

这会导致当想要浏览到特定记录时出现的问题,例如

/mymodel/5

在浏览器中,我也会看到列表视图。

目标是有 1 个 url 为 api (json) 或网页提供列表和详细信息视图。 (/mymodel = 列表,/mymodel/5 = 详细信息)

问题是:如何基于一个 ViewSet 拥有多个模板(列表/详细信息)?

【问题讨论】:

【参考方案1】:

解决方法是重写get_template_names方法,根据正在执行的动作返回模板。

def get_template_names(self):
    if self.action == 'list':            
        return ['list.html']
    elif self.action == 'retrieve':            
        return ['details.html']

【讨论】:

Django-Rest-Framework 系统检查自定义 HTTP 标头(应用程序 - 令牌)

】Django-Rest-Framework系统检查自定义HTTP标头(应用程序-令牌)【英文标题】:Django-Rest-FrameworksystemtocheckcustomHTTPheader(application-token)【发布时间】:2020-04-1707:05:30【问题描述】:我使用Django和Django-rest-framework。我必须检查一个自定... 查看详情

django-rest-framework框架总结之认证权限限流过滤分页及异常处理(代码片段)

认证AuthenticationREST框架提供了几种即用的身份验证方案,并且支持实现自定义认证。我们需要在setting.py文件中设置DEFAULT_AUTHENTICATION_CLASSES全局默认身份验证方案。例如。REST_FRAMEWORK='DEFAULT_AUTHENTICATION_CLASSES':['rest_f... 查看详情

断言错误:Django-rest-Framework

】断言错误:Django-rest-Framework【英文标题】:Assertionerrorat:Django-rest-Framework【发布时间】:2015-02-1313:36:02【问题描述】:我正在使用python3.4、Django1.7.1(书中考虑的版本)、Postgres9.3,我的IDE是Eclipse。我一直在研究“轻量级Django-E... 查看详情

django-rest-framework:如何序列化已经包含 JSON 的字段?

】django-rest-framework:如何序列化已经包含JSON的字段?【英文标题】:django-rest-framework:HowDoISerializeaFieldThatAlreadyContainsJSON?【发布时间】:2014-04-0501:41:03【问题描述】:我对django-rest-framework还是很陌生,所以需要一些帮助。我有一... 查看详情

django-rest-framework: api 版本控制

】django-rest-framework:api版本控制【英文标题】:django-rest-framework:apiversioning【发布时间】:2012-12-2512:52:55【问题描述】:谷歌搜索似乎普遍认为,在RESTURI中嵌入版本号是一种不好的做法和一个坏主意。即使在SO上,也有强烈的支持... 查看详情

django-rest-framework 按日期过滤=无

】django-rest-framework按日期过滤=无【英文标题】:django-rest-frameworkfilterbydate=None【发布时间】:2014-02-2611:35:00【问题描述】:我正在使用django-rest-framework和django-filter。我需要检索date属性为None的小部件列表,但无论我尝试什么查询... 查看详情

django-rest-framework、多表模型继承、ModelSerializers 和嵌套序列化器

】django-rest-framework、多表模型继承、ModelSerializers和嵌套序列化器【英文标题】:django-rest-framework,multitablemodelinheritance,ModelSerializersandnestedserializers【发布时间】:2014-07-2518:17:22【问题描述】:我在文档或互联网上找不到此信息。... 查看详情

为啥 django-rest-framework 不显示 OneToOneField 数据 - django

】为啥django-rest-framework不显示OneToOneField数据-django【英文标题】:Whydjango-rest-frameworkdoesn\'tdisplayOneToOneFielddata-django为什么django-rest-framework不显示OneToOneField数据-django【发布时间】:2018-02-1616:26:13【问题描述】:我想在我的网站中... 查看详情

如何在 django-rest-framework 中为 API 使用 TokenAuthentication

】如何在django-rest-framework中为API使用TokenAuthentication【英文标题】:HowtouseTokenAuthenticationforAPIindjango-rest-framework【发布时间】:2013-07-0718:26:11【问题描述】:我有一个django项目,使用django-rest-framework来创建api。想要使用基于令牌的... 查看详情

我无法使用 Django-Rest-Framework 注册用户

】我无法使用Django-Rest-Framework注册用户【英文标题】:IcannotregisterauserusingDjango-Rest-Framework【发布时间】:2021-04-0621:11:54【问题描述】:我无法使用DjangoRestFramework添加新用户。这是我的models.py代码:classProfile(models.Model):user=models.O... 查看详情

使用 django-rest-framework 创建对象后返回 id 值

】使用django-rest-framework创建对象后返回id值【英文标题】:Returningidvalueafterobjectcreationwithdjango-rest-framework【发布时间】:2013-09-1920:32:03【问题描述】:我正在使用django-rest-framework通用视图通过POST请求在模型中创建对象。我想知道... 查看详情

在 django-rest-framework 中捕获参数

】在django-rest-framework中捕获参数【英文标题】:Captureparametersindjango-rest-framework【发布时间】:2014-02-1302:01:42【问题描述】:假设这个网址:http://localhost:8000/articles/1111/comments/我想获取给定文章的所有cmets(此处为1111)。这就是... 查看详情

django-rest-framework 是不是提供管理站点来管理模型?

】django-rest-framework是不是提供管理站点来管理模型?【英文标题】:Doesthedjango-rest-frameworkprovideanadminsitetomanagemodels?django-rest-framework是否提供管理站点来管理模型?【发布时间】:2020-12-1812:02:18【问题描述】:我正在寻找使用djang... 查看详情

Django-rest-framework + React-Admin:URL 反斜杠问题

】Django-rest-framework+React-Admin:URL反斜杠问题【英文标题】:Django-rest-framework+React-Admin:URLBackslashissue【发布时间】:2019-02-0317:59:22【问题描述】:我有一个djangorestapi,它实现了如下突出显示的视图集。classSubjectViewSet(viewsets.ModelView... 查看详情

无法使用视图名称 (django-rest-framework) 解析超链接关系的 URL

】无法使用视图名称(django-rest-framework)解析超链接关系的URL【英文标题】:CouldnotresolveURLforhyperlinkedrelationshipusingviewname(django-rest-framework)【发布时间】:2018-06-2919:50:26【问题描述】:问题:我收到这样的错误。在/api/users/处配置不... 查看详情

在视图集中创建的 Django-rest-framework 权限

】在视图集中创建的Django-rest-framework权限【英文标题】:Django-rest-frameworkpermissionsforcreateinviewset【发布时间】:2014-05-1017:03:02【问题描述】:我正在尝试创建一个RESTAPI并且卡在用户注册上:基本上我需要在注册之前获得访问令牌... 查看详情

django-rest-framework 令牌认证和注销

】django-rest-framework令牌认证和注销【英文标题】:django-rest-frameworkTokenAuthandlogout【发布时间】:2015-03-0707:21:07【问题描述】:据了解,obtain_auth_token视图用作登录功能。您提供凭据并取回令牌。什么会注销?我应该在注销时删除... 查看详情

如何在 django-rest-framework 中对权限进行单元测试?

】如何在django-rest-framework中对权限进行单元测试?【英文标题】:Howtounittestpermissionsindjango-rest-framework?【发布时间】:2016-09-0708:14:14【问题描述】:她的权限是我想要进行单元测试的示例权限。#permissions.pyfrommyapp.modelsimportMembersh... 查看详情