首页
学习
活动
专区
圈层
工具
发布

django 1.8 官方文档翻译: 3-4-3 使用基于类的视图处理表单

使用基于类的视图处理表单 表单的处理通常有3 个步骤: 初始的的GET (空白或预填充的表单) 带有非法数据的POST(通常重新显示表单和错误信息) 带有合法数据的POST(处理数据并重定向) 你自己实现这些功能经常导致许多重复的样本代码...机器伙伴来做实际的工作。...注意这里我们是如何配置通用的基于类的视图的;我们自己没有写任何逻辑: #views.py from django.views.generic.edit import CreateView, UpdateView...fields 属性的工作方式与ModelForm 的内部Meta类的fields 属性相同。...AJAX 示例 下面是一个简单的实例,展示你可以如何实现一个表单,使它可以同时为AJAX 请求和‘普通的’表单POST 工作: from django.http import JsonResponse

3.7K20
  • 您找到你想要的搜索结果了吗?
    是的
    没有找到

    diango之基于内置视图CBS编程

    具有如下几个原则: 代码越少越好 永远不要重复代码 View应当只包含呈现逻辑, 不应包括业务逻辑 保持view逻辑清晰简单 不要将CBVs用作403, 404, 500的错误处理程序 保持mixin简单明了..."/login/" TemplateView 显示Django HTML template 一般网站中使用模板显示的页 ListView 显示对象列表 文章列表页 DetailView 显示对象详情 文章详细页...FormView 提交From 网站联系我们或emai订阅form CreateView 创建对象 创建新文章页 UpdateView 更新对象 修改文章页 DeleteView 删除对象 删除文章页...Generic date views 显示一段时间内的对象 按时间归类的博客 2....View中基本元素 1 class ModelCreatView(CreateView): 2 def __init__(self, model, template_name, context_object_name

    1.3K30

    django 1.8 官方文档翻译: 3-4-5 内建基于类的视图的API

    基础视图 View TemplateView RedirectView 通用的显示视图 DetailView ListView 通用的编辑视图 FormView CreateView UpdateView...views View TemplateView RedirectView Detail Views DetailView List Views ListView Editing views FormView CreateView...Django 的通用视图建立在基础视图之上,用于作为经常用到的功能的快捷方式,例如显示对象的详细信息。它们提炼视图开发中常见的风格和模式并将它们抽象,这样你可以快速编写常见的视图而不用重复你自己。...译者:Django 文档协作翻译小组,原文:API reference。 本文以 CC BY-NC-SA 3.0 协议发布,转载请保留作者署名和文章出处。...Django 文档协作翻译小组人手紧缺,有兴趣的朋友可以加入我们,完全公益性质。

    1.4K20

    【Django | 开发】面试招聘信息网站(用户登录注册&投在线递简历)

    (不建议), 相关配置 方法二:allauth 集成(建议) ✨【Django | allauth】登录_注册_邮箱验证_密码邮箱重置✨ ✨【Django | allauth】useprofile...models.CharField(max_length=135, choices=DEGREE_TYPE, blank=True, verbose_name=_('学历')) # 自我介绍 工作经历...与之前的函数不一样) 这里的类试图有很多写好的基类视图,如detailview,listview等 官方文档 # 类视图 class ResumeCreateView(LoginRequiredMixin, CreateView...和 职位并没有带到表单中 解决: 在类视图写上 初始化方法get_initial # 类视图 class ResumeCreateView(LoginRequiredMixin, CreateView...initial[message] = self.request.GET[message] return initial def form_valid(self, form): # 生成对象 (不直接提交

    1.6K10

    基于python+django的二手商品交易平台-二手商品供需系统

    项目简介该项目是基于python的web类库django开发的一套web网站,二手商品交易平台,给师弟开发的课程作业。大家在学习过程中,遇到问题可以github咨询作者。...预览展示http://mask.gitapp.cn源码地址https://github.com/geeeeeeeek/mask开发步骤:启动项目django-admin startproject mask...context = super(DetailView, self).get_context_data(**kwargs) return context它很简单,继承了DetailView通用模板类来显示详情...同样是观看代码:class CommitView(generic.CreateView): model = Product form_class = CommitForm template_name...") return reverse('app:commit')它是继承自CreateView,因为是创建操作嘛,在post中,我们通过ratelimit来限制提交次数,防止恶意提交。

    1.4K00

    基于django的视频点播网站开发-step6-个人中心功能

    通过这部分的开发,我们将会接触到更多django的用法。 感兴趣的伙伴可通过网站演示预览网站,登录后点击右上角头像即可弹出个人中心相关菜单。...个人资料 这里主要是对个人资料进行编辑,先显示用户原有的信息,然后用户即可对其进行修改并保存,对于编辑功能,django有自己的解决方案,即通过通用视图类UpdateView对模型进行更改。...当更新成功后,django会回调get_success_url来将结果告诉模板,因此我们可以在get_success_url里面做一些定制的工作,我们可以传一些自己的参数。...我们直接贴出FeedbackView的代码 class FeedbackView(LoginRequiredMixin, generic.CreateView): model = Feedback...messages.success(self.request, "提交成功") return reverse('users:feedback') 我们看到这个地方继承的是CreateView

    1.7K00

    马哥金牌分享 | 十分钟学会用Django快速搭建一个blog

    ---- 1.django简介 Django是一个开放源代码的Web应用框架,由Python写成。采用了MVC的框架模式,即模型M,视图V和控制器C。...这套框架是以比利时的吉普赛爵士吉他手Django Reinhardt来命名的。 Django是一个基于MVC构造的框架。...视图(View)表现层 处理与表相关的决定: 如何在页面或其他类型文档中进行显示。 模板(Template),业务逻辑层 存取模型及调取恰当模板的相关逻辑。模型与模板的桥梁。...2.配置admin.py之前,需要先了解一下admin的用法 需要继承admin.ModelAdmin list_display:admin 后台显示的字段 search_fields:admin 后台查询的字段...的视图 Django有很多的优秀的视图: View DetailView ListView FormView CreateView DeleteView UpdateView 我们的blog里面暂时只用到了

    3.2K51

    IM开发干货分享:万字长文,详解IM“消息“列表卡顿优化实践

    那么完整的一帧流程如下: 如上图所示: 1)首先在第一个 16ms 内,显示器显示了第 0 帧的内容,CPU/GPU 处理完第一帧; 2)垂直同步信号到来后,CPU 马上进行第二帧的处理工作,处理完以后交给...由于 A 缓冲区被显示器所占用,B 缓冲区被 GPU 所占用,导致在垂直同步信号 (VSync) 到来时 CPU 没办法开始处理下一帧的内容,所以在第二个 16ms内,CPU 并没有触发绘制工作。...首先我们要明确,虽然该工具叫 GPU 呈现模式分析工具,但是其中显示的大部分操作发生在 CPU 中。 其次根据颜色对照表大家可能也发现了,谷歌给出的颜色跟真机上的颜色对应不上。...Systrace 报告中出现大量的 CreateView,说明在复用 item 时出现了问题,导致每次显示新的 item 都需要重新创建。...这里需要注意重用时导致的页面显示错误,比如在密聊中修改了会话标题的颜色,但是由于 item 的复用,导致群聊的会话标题颜色也改变了。

    2.5K20

    5分钟搞定Flutter与Android 的交互(内附大量Flutter学习资源)

    ) // new 你以为这里没坑,真是图样图森破,没坑是不可能的,编译器大爷可能会给你甩这么个错误...原生界面加载Flutter页面 那么如何在原生界面显示 Flutter 界面呢,这个就需要通过 FlutterView 来实现了,Flutter 这个类提供了 createView 和 createFragment...CreateView方式加载 接着看下 createView 方法,说白了,第一种方法最后还是会通过该方式实现 @NonNull public static FlutterView createView...Activity activity, @NonNull final Lifecycle lifecycle, final String initialRoute) { // 交互前的一些初始化工作...; // 数据变化了,则修改数据 }); }, onError: (e) { _receiverMessage = 'process error: $e'; // 发生错误则显示错误信息

    2.9K60

    类视图 vs. 函数视图

    如果我在代码里面, 显式的调用类视图必须这样做: Python return MyView.as_view()(request) 为了让代码显示更加自然, 有可读性,你可以这个函数分配给一个变量....你可以在django.views.generic引用它们....以下是可用视图的概述: 基础视图 View (最基本的View) TemplateView RedirectView 通用展示视图 ListView DetailView 通用编辑视图 FormView CreateView...各种观点 #1 观点 「使用所有的通用视图(GV)」 此观点认为,Django 提供这些通用视图就是让减少开发的效率, 为什么不用呢?...Function-Based Views 优点 易于构建 可读性佳 显示代码流 直接用装饰器 缺点 难以扩展及复用代码 通过 if 条件处理HTTP方法 Class-Based Views 优点 轻松扩展及复用代码

    3.3K10
    领券