Django从理论到实战(part46)--View类
学习笔记,仅供参考,有错必纠
参考自:Django打造大型企业官网–Huang Y;
类视图
View类
django.views.generic.base.View是主要的类视图,所有的类视图都是继承自他,我们写自己的类视图,也可以继承自他。
如果该视图只能使用get
的方式来请求,那么就可以在这个类中定义get(self,request,*args,**kwargs)
方法;如果只需要实现post
方法,那么就只需要在类中实现post(self,request,*args,**kwargs)
。
- 举个例子(拥有get和post方法)
首先,我们定义视图类AddBookView:
class AddBookView(View):def get(self, request, *args, **kwargs):return render(request, "add_book.html")def post(self, request, *args, **kwargs):book = request.POST.get("book", "")price = request.POST.get("price", "")tags = request.POST.getlist("tags")context = {"book":book,"price":price,"tags":tags}return render(request, "show_books.html", context = context)
再定义主urls.py文件:
from django.contrib import admin
from django.urls import path
from . import views
from django.conf.urls import includeurlpatterns = [path('admin/', admin.site.urls),path("add_book2/", views.AddBookView.as_view(), name = "add_book2"),
]
向http://127.0.0.1:8000/add_book2/发起请求,填写form表单:
点击提交
:
- 举个例子(定义http_method_not_allowed方法)
如果在上面的例子中,我们只有get方法,没有post方法,但是,我们却进行了post操作,那么Django会把这个请求转发给http_method_not_allowed方法:
class AddBookView(View):def get(self, request, *args, **kwargs):return render(request, "add_book.html")def http_method_not_allowed(self, request, *args, **kwargs):return HttpResponse("您当前采用的method是:%s,本视图只支持使用get请求!" % request.method)
向http://127.0.0.1:8000/add_book2/发起请求,填写form表单:
点击提交
:
Django从理论到实战(part46)--View类相关推荐
- Django从理论到实战(part47)--ListView类
学习笔记,仅供参考,有错必纠 参考自:Django打造大型企业官网–Huang Y: 文章目录 类视图 ListView类 举个例子 Paginator和Page类 Paginator常用属性 Pag ...
- Django从理论到实战(part44)--JsonResponse类
学习笔记,仅供参考,有错必纠 参考自:Django打造大型企业官网–Huang Y: JsonResponse类 如果我们想向浏览器传递Json类型数据,可以使用JsonResponse类.该类会将对 ...
- Django从理论到实战(part9)--path和re_path
学习笔记,仅供参考 参考自:Django打造大型企业官网: 本系列Blog以应用为主,理论基础部分我在后端专栏的Django系列博客已经写过了,如果有些需要补充的知识点,我会在这个系列中,尽量详细的写 ...
- Django从理论到实战(part50)--使用模型来处理上传的文件
学习笔记,仅供参考,有错必纠 文章目录 使用模型来处理上传的文件 `MEDIA_ROOT`和`MEDIA_URL` 限制文件的扩展名 使用模型来处理上传的文件 在定义模型的时候,我们可以给存储文件的字 ...
- Django从理论到实战(part45)--下载CSV文件
学习笔记,仅供参考,有错必纠 参考自:Django打造大型企业官网–Huang Y: 文章目录 CSV文件 生成小的CSV文件 将`csv`文件定义成模板 生成大的CSV文件 StreamingHtt ...
- Django从理论到实战(part35)--QuerySetAPI
学习笔记,仅供参考,有错必纠 参考自:Django打造大型企业官网–Huang Y:官方文档 QuerySet API 我们通常做查询操作的时候,都是通过模型名字.objects的方式进行操作.其实模 ...
- Django从理论到实战(part32)--外键删除
学习笔记,仅供参考,有错必纠 参考自:Django打造大型企业官网–Huang Y: 外键删除 在学习外键删除之前,我们先学习一下外键. 外键 比如,我们有一个User和一个Article两个模型,U ...
- Django从理论到实战(part30)--Meta配置
学习笔记,仅供参考 参考自:Django打造大型企业官网–Huang Y: 本系列Blog以应用为主,理论基础部分我在后端专栏的Django系列博客已经写过了,如果有些需要补充的知识点,我会在这个系列 ...
- Django从理论到实战(part27)--ORM模型的增删改查操作
学习笔记,仅供参考 参考自:Django打造大型企业官网–Huang Y: 本系列Blog以应用为主,理论基础部分我在后端专栏的Django系列博客已经写过了,如果有些需要补充的知识点,我会在这个系列 ...
最新文章
- python 开发框架
- 用 python 解决汉诺塔问题并附带演示过程
- 样例问题 Example question for A4M33MPV course
- nyoj-619 青蛙过河
- 从零点五开始用Unity做半个2D战棋小游戏(七)
- ECMAScript 2016(ES7)新特性简介
- cURL模拟POST方式提交数据
- php fast cgi nginx,通过fast-cgi连接php-fpm和nginx之间的连接是持久的(保持活动)连接吗?...
- DP || HYSBZ 1207 打鼹鼠
- java 日期calendar_Java中用Calendar类计算周和周的起始日期(转)
- 电脑计算机里怎么找恢复出厂设置,普通电脑怎么恢复出厂设置
- 动态下拉框中如何使用常量?
- 利用GPU加速的软件
- sql插入不重复的数据
- 计算机科学中的计算机思维在本质上源自于,计算思维对学习计算机知识有何作用?...
- 第二个暴力猴脚本- 改写后用iframe抓取携程某个城市所有起飞、到达航班并保存
- 远程连接服务器出现channel is not opened通道未打开
- 世上真有后悔药,删除的数据文件可恢复,6款免费数据恢复软件
- 罗永浩跟罗振宇八个半小时都聊了些什么
- 数据人之苦,你造吗?(转自知乎)