Loading [MathJax]/jax/output/CommonHTML/config.js
首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >基于Django类的后处理视图

基于Django类的后处理视图
EN

Stack Overflow用户
提问于 2016-04-26 00:39:09
回答 5查看 28K关注 0票数 25

对不起,如果这是一个微不足道的问题,但我已经搜索了相当一段时间,并没有找到一个好的实现。

有人能提供一个例子,说明如何通过子类化任何泛型视图来实现Django中的后置视图(它可以处理文件上传)吗?

我想要创建一个端点来处理所有博客帖子注释创建逻辑。注释表单嵌入到我的博客页面中,因此,这些数据将以POST的形式发送到url。

EN

回答 5

Stack Overflow用户

回答已采纳

发布于 2016-04-26 04:41:34

View类具有一个http_method_names属性,该属性列出视图将接受的HTTP方法。

因此,您可以子类任何您喜欢的泛型视图(例如,CreateView),并设置http_method_names,以便只允许POST请求。

代码语言:javascript
运行
AI代码解释
复制
from django.views.generic.edit import CreateView


class CommentCreateView(CreateView):
    http_method_names = ['post']
    model = Comment
    ...

或者,您可以子类View,并编写自己的post方法。

代码语言:javascript
运行
AI代码解释
复制
class CommentView(View):

    def post(self, request):
        ...

在这种情况下,GET请求将返回一个HttpResponseNotAllowed响应,因为您还没有定义处理GET请求的get方法。

票数 45
EN

Stack Overflow用户

发布于 2016-04-26 00:55:48

你可以尝试这样的方法:

代码语言:javascript
运行
AI代码解释
复制
class MyView(TemplateView):
    template_name = 'my_template.html'

    def post(self, request, **kwargs):
        my_data = request.POST
        # do something with your data
        context = {}  #  set your context
        return super(TemplateView, self).render_to_response(context)
票数 8
EN

Stack Overflow用户

发布于 2016-04-26 01:02:45

来自文档

分派会查看请求,以确定它是否是GET、POST等,并在定义为或引发HttpResponseNotAllowed的情况下将请求转发给匹配方法HttpResponseNotAllowed。

因此,从本质上说,任何只定义POST方法的基于类的视图都只允许POST请求。

票数 4
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/36859618

复制
相关文章
django的类视图-11
使用函数方式定义的视图叫函数视图,虽然使用方便,便于理解,但是当一个s视图有多种请求方式的时候,变需要使用分支来编写不同请求方式对应的逻辑。
py3study
2020/01/19
7910
Django小技巧15: 使用基于类视图的Mixins
依类似的方式, 你可以在UpdateView中, 重用相同的FormMessageMixin, 并覆盖默认的form_invalid_message方法.
用户1416054
2018/12/06
1.1K0
Django小技巧15: 使用基于类视图的Mixins
Django 2.1.7 类视图
Django 2.1.7 创建应用模板 Django 2.1.7 配置公共静态文件、公共模板路径 Django 2.1.7 模板语言 - 变量、标签、过滤器、自定义过滤器、模板注释 Django 2.1.7 模板继承 Django 2.1.7 模板 - HTML转义 Django 2.1.7 模板 - CSRF 跨站请求伪造 Django 2.1.7 模板 - 图片验证码的实现 Django 2.1.7 模板 - 动态URL 反向解析 Django 2.1.7 模板 - 动态配置静态文件路径
Devops海洋的渔夫
2019/07/15
7110
Django 2.1.7 类视图
Django 中针对基于类的视图添加 csrf_exempt
在Django中对于基于函数的视图我们可以 @csrf_exempt 注解来标识一个视图可以被跨域访问。那么对于基于类的视图,我们应该怎么办呢? 简单来说可以有两种访问来解决 方法一:在类的 dispatch 方法上使用 @csrf_exempt from django.views.decorators.csrf import csrf_exempt class MyView(View): def get(self, request): return HttpResponse("
kongxx
2018/05/14
1.6K0
django 入门:通用视图类重构视图
博客:https://www.jianshu.com/p/8cdf099e974f
陈宇明
2020/12/15
9280
django 入门:通用视图类重构视图
Django(57)Generic类视图[通俗易懂]
上篇我们通过mixin可以非常方便的实现一些CURD操作。实际上针对这些mixin,DRF还进一步的进行了封装,放到generics下。有以下generic类视图:
全栈程序员站长
2022/09/19
5220
Django 官方推荐的姿势:类视图
在开发网站的过程中,有一些视图函数虽然处理的对象不同,但是其大致的代码逻辑是一样的。比如一个博客和一个论坛,通常其首页都是展示一系列的文章列表或者帖子列表。对处理首页的视图函数来说,虽然其处理的对象一个是文章,另一个是帖子,但是其处理的过程是非常类似的:首先是从数据库取出文章或者帖子列表,然后将这些数据传递给模板并渲染模板。于是,django 把这些相同的逻辑代码抽取了出来,写成了一系列的通用视图函数,即基于类的通用视图(Generic Class Based View)。
HelloGitHub
2021/05/14
1.4K0
Django装饰器的使用 (类视图)
为了理解方便,我们先来定义一个为函数视图准备的装饰器(在设计装饰器时基本都以函数视图作为考虑的被装饰对象),及一个要被装饰的类视图。
kirin
2021/02/04
1.1K0
Django-DRF | GenericAPIView 视图类
Django REST框架构建Web API。Django网络应用开发的5项基础核心技术包括模型(Model)的设计,URL 的设计与配置,View(视图)的编写,Template(模板)的设计和Form(表单)的使用。
小团子
2020/01/16
1.2K0
Django-DRF | GenericAPIView 视图类
利用Django通用类视图(class
最近在学习Django,官方文档介绍地十分详细。但是“大而全”就难免会有些不够速成,和我们这个浮躁的互联网时代格格不入,所以我就整理了这个文档。就像coolshell说的,一泡屎的时间就可以看完。
py3study
2020/01/03
1.6K0
35. Django 2.1.7 类视图
1) 首先在应用的view.py中创建两个视图test_method和test_method_handle
Devops海洋的渔夫
2022/01/17
2970
35. Django 2.1.7 类视图
Django-DRF | APIView 视图类
Django REST框架构建Web API。Django网络应用开发的5项基础核心技术包括模型(Model)的设计,URL 的设计与配置,View(视图)的编写,Template(模板)的设计和Form(表单)的使用。
小团子
2020/01/16
1.1K0
Django-DRF | APIView 视图类
django 1.8 官方文档翻译: 3-4-1 基于类的视图
视图是一个可调用对象,它接收一个请求然后返回一个响应。这个可调用对象可以不只是函数,Django 提供一些可以用作视图的类。它们允许你结构化你的视图并且利用继承和混合重用代码。后面我们将介绍一些用于简单任务的通用视图,但你可能想要设计自己的可重用视图的结构以适合你的使用场景。完整的细节,请参见基于类的视图的参考文档。
ApacheCN_飞龙
2022/11/27
8930
Django内置的通用类视图及实例
表示对象列表的一个页面. 执行这个视图的时候,self.object_list将包含视图正在操作的对象列表(通常是一个查询集,但不是必须). 属性:
菲宇
2019/06/13
3.1K0
Django内置的通用类视图及实例
Django REST Framework-常用的类视图
Django REST Framework是基于Django的一个用于构建Web API的框架。它提供了许多用于构建Web API的工具和实用程序,其中最常用的是类视图。类视图是一种Django REST Framework的API视图,它是基于类的视图。它提供了一种方便的方式来编写可重用的Web API视图,并带有许多有用的内置功能。
玖叁叁
2023/04/24
7530
python测试开发django-62.基于类的视图(APIView和View)
django中编辑视图views.py有两种方式,一种是基于类的实现,另外一种是函数式的实现方式,两种方法都可以用。 REST框架提供了一个APIView类,它是Django View类的子类。
上海-悠悠
2019/09/16
1.5K0
python测试开发django-62.基于类的视图(APIView和View)
Django REST Framework-类视图(一)
Django REST Framework提供了许多内置的视图来处理不同类型的请求。其中一种是类视图,类视图是一个基于类的视图,可以继承DRF的APIView类或其子类。类视图提供了更多的灵活性和可重用性,可以更容易地组织代码和扩展API。
玖叁叁
2023/04/24
3220
Django REST Framework-类视图(二)
除了APIView类之外,DRF还提供了许多其他的类视图,以便我们更方便地编写代码和扩展API。以下是其中的一些:
玖叁叁
2023/04/24
2970
Django REST Framework-类视图(三)
ModelViewSet是一个基于视图集的通用类,提供了处理CRUD操作的通用功能。它继承自GenericAPIView和ViewSetMixin,提供了以下方法:
玖叁叁
2023/04/24
3170
点击加载更多

相似问题

基于Django类的视图

30

基于类的视图Django

15

基于Django类的视图

10

基于Django类的视图(更新视图)

116

Django中基于类的视图

01
添加站长 进交流群

领取专属 10元无门槛券

AI混元助手 在线答疑

扫码加入开发者社群
关注 腾讯云开发者公众号

洞察 腾讯核心技术

剖析业界实践案例

扫码关注腾讯云开发者公众号
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档