django(六):view和cbv】的更多相关文章

一.Django的View(视图) 1.介绍 一个视图函数(类),简称视图,是一个简单的Python 函数(类),它接受Web请求并且返回Web响应. 响应可以是一张网页的HTML内容,一个重定向,一个404错误,一个XML文档,或者一张图片. 无论视图本身包含什么逻辑,都要返回响应. 代码写在哪里也无所谓,只要它在你当前项目目录下面. 大家约定俗成将视图放置在项目(project)或应用程序(app)目录中的名为views.py的文件中. 2.FBV和CBV(Function Base Vie…
目录 Django的View(视图层) 一.JsonResponse 二.后端接收前端的文件 三. FBV和CBV(源码分析) 四.settings.py配置文件源码分析 五. 请求对象(HttpRequest) 六. 响应对象(HttpResponse) 6.1.HttpResponse() Django的View(视图层) 一.JsonResponse 为什么要给前端返回json格式字符串,后端就专门写接口 前端调用你这个接口 就能够拿到一个,json格式的字符串,然后前端利用序列化反序列转…
title: python djano CBV FBV tags: python, djano, CBV, FBV grammar_cjkRuby: true --- python django的function的定义方法 在处理URL的调用方法的function里面,可能会这样定义 Fuction Based View 在视图中用函数来处理请求 def get(): if method == "GET": XXX def post(): if method == "POST…
Django的View(视图) 一个视图函数(类),简称视图,是一个简单的Python 函数(类),它接受Web请求并且返回Web响应. 响应可以是一张网页的HTML内容,一个重定向,一个404错误,一个XML文档,或者一张图片. 无论视图本身包含什么逻辑,都要返回响应.代码写在哪里也无所谓,只要它在你当前项目目录下面.除此之外没有更多的要求了--可以说"没有什么神奇的地方".为了将代码放在某处,大家约定成俗将视图放置在项目(project)或应用程序(app)目录中的名为views.…
为什么不使用FBV,因为CBV重用性很高 先看一个例子: from django.views.generic.base import View from django.http import HttpResponse, JsonResponse from goods.models import Goods import json # from django.views.generic import ListView class GoodsListView(View): def get(self,…
一Djano的中间件 1 中间件的概念 中间件顾名思义,是介于request与respose处理之间的一道处理过程,相对比较轻量级,并且全局上改变django的输入与输出.因为改变是全局, 所有需要谨慎使用,用不好会影响到性能 2 自定义中间件 中间件中一般有四个方法:   process_request   process_view   process_exception   process_response 当用户发起请求的时候依次讲过所有的中间件,这个时候的请求时process_reque…
Django知识补充之CBV Django: url    -->  def函数      FBV[function based view]  用函数和URL进行匹配 url    -->  类           CBV[function based view]  用类和URL进行匹配 POSTMAN插件 http://blog.csdn.net/zzy1078689276/article/details/77528249 基于CBV的登录实例: settings.py INSTALLED_…
1.中介模型 中介模型,这个是在我们创建表格时,多对多添加的时候应用到的,通过制定ManyToManyField字段中的through参数来定义,为两者的关系新建一个中介class 为什么会产生这个中介模型呢?主要还是和业务需求有关系: 我们都知道,建立多对多关系后,django会自动帮我们生成第三张表,对于这张表只包含相关的id.但是由于业务需要,我们现在需要在第三张表添加其它字段,这时候就需要自己去创建第三张表 1.1用法实例 常规多对多创建表模型: class Author(models.…
一.Django中的视图 CBV和FBV 我们之前写过的都是基于函数的view,就叫FBV.还可以把view写成基于类的. url(r'^add_publisher/',views.AddPublisher.as_view) 在views里添加 from django.views import View class AddPublisher(View): def get(self, request): return render(request, 'add_publisher.html') de…
正则路径中的分组 无名分组 分组的概念:就是给某一段正则表达式用小括号括起来 无名分组按位置传参数,一一对应. view中除去request,其他形参数量要与urls中分组数量一致. 无名分组就是将括号内匹配到的内容当作位置参数传递给后面的视图函数 urls.py: urlpatterns = [ url(r'^test/([0-9]{4})', views.test)] views.py from django.shortcuts import HttpResponse def index(r…