博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
Django基础:CBV
阅读量:6849 次
发布时间:2019-06-26

本文共 1854 字,大约阅读时间需要 6 分钟。

CBV & FBV    CBV:指视图函数为类。    FBV:指视图函数为函数类型。    web框架的实质就是通过url-找到->函数,然后执行视图函数,模版渲染,把字符串返回给浏览器!    这一段时间以来的操作,都是用的FBV类型来实现url ----> 函数。    现在聊聊CBV的方式,以登录login举例。(全部是固定写法,先记住它!)         1、视图函数views中:            from django.views import View  #先导入模块                         class Login(View): #定义一个类,继承父类View  -------> 没错,就是导入的模块                """                - 在类内定义不同的http方法,我们可以点进View中去查看,官方给的方法如下:                - http_method_names = ['get', 'post', 'put', 'patch', 'delete', 'head', 'options', 'trace']                - 对于这些方法,我们常用的只有四个,同时这四个分别代表不同的操作:                    get    查                    post   创建                    put    更新                    delete 删除                """                #在View父类中,我们看源码发现有个 dispatch 函数,这个函数是用来执行类内自定义的方法的。                #所以对于这个函数,我们可以重写,以增加我们需要的功能!当然如果不需要的话,那就不要重写。                                 def dispatch(self, request, *args, **kwargs):                    print("before")                    obj = super(Login,self).dispatch(self, request, *args, **kwargs)                    print("after")                    return obj                #不管定义什么方法,都需要写一个形参request,用于接收浏览器发送过来的请求信息.                def get(self,request):                     return render(request,"login.html")                                 def post(self,request):                    print(request.POST.get("user"))  #有没有获取到数据                    return HttpResponse("login.POST")         2、urls.py路由系统文件中:            """注意后边函数,也是固定的写法:模块.类名.as_view()"""            url(r'^login.html$', views.Login.as_view()),         3、模版文件login.html:#form 表单提交只有两种方式:get和POST                                                    
Title

  

转载于:https://www.cnblogs.com/adamans/articles/7602572.html

你可能感兴趣的文章
laravel package 推荐,数据备份
查看>>
Synchronized锁在Spring事务管理下,为啥还线程不安全?
查看>>
环境变量PATH cp命令 mv命令 文档查看cat/more/less/head/tail
查看>>
阿里云亮相2019联通合作伙伴大会,边缘计算等3款云产品助力5G时代产业数字化转型...
查看>>
dubbo源码分析-服务端发布流程-笔记
查看>>
阿里云发布Apsara SA系列混合云存储阵列
查看>>
GoJS教程:链接模版
查看>>
QListWidget方式显示缩略图
查看>>
金三银四:蚂蚁金服JAVA后端面试题及答案之二面
查看>>
Ubuntu 外网不通解决方案
查看>>
OSChina 周六乱弹 —— 历史总是惊人的相似
查看>>
MySQL 大小写
查看>>
Python 创建Django项目
查看>>
基于python的REST框架eve测试与mongodb的数据操作
查看>>
Lync 2013部署图片赏析-证书服务安装配置
查看>>
HTML5 本地缓存 (web存储)
查看>>
tomcat redis session共享(包含redis安全设置)
查看>>
iptables中DNAT、SNAT和MASQUERADE的作用
查看>>
kvm命令学习记录
查看>>
小菜鸡进阶之路-First week
查看>>