6)django-示例(fbv)】的更多相关文章

Python/Django(CBV/FBV/ORM操作) CBV:url对应的类(模式) ##====================================CBV操作============================ # class geting(View): # def dispatch(self, request, *args, **kwargs): # print('before') # obj = super(geting,self).dispatch(request,*…
Django的FBV和CBV FBV FBV(function base views) 就是在视图里使用函数处理请求. 在之前django的学习中,我们一直使用的是这种方式,所以不再赘述. CBV CBV(class base views) 就是在视图里使用类处理请求. Python是一个面向对象的编程语言,如果只用函数来开发,有很多面向对象的优点就错失了(继承.封装.多态).所以Django在后来加入了Class-Based-View.可以让我们用类写View.这样做的优点主要下面两种: 提高…
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…
一.FBV与CBV FBV(function based views),即基于函数的视图:CBV(class based views),即基于类的视图,也是基于对象的视图.当看到这个解释时,我是很萌的,我仔细回想了一下,哪里有基于类的视图啊,怎么我之前写的视图都是一个一个的函数啊,奇怪了,很多人都应该和我一样蒙(大佬除外哈).没错我之前写的所有的视图都是基于函数的,所以今天咋们不去扯什么是FBV了,实在不知道的,可以看看在今天之前的所有视图,绝对都是FBV模型的(这个我敢打包票). 二.CBV的…
备忘 def auth(func): def inner(request,*args,**kwargs): u = request.COOKIES.get('username111') if not u: return redirect('/login/') print("call index()") return func(request,*args,**kwargs) return inner #FBV @auth def index(request): #带签名的cookie o…
CBV与FBV是django视图中处理请求的两种方式 FBV FBV也就是function base views,字面意思函数基础视图,使用函数的方式处理请求url分发中添加的参数为视图处理函数名, path('login/',views.login ) 视图中以此函数名建立处理函数 def login(req): if req.method=='POST': pass if req.method=='GET': pass CBV CBV也就是class base views,使用类的方式在视图…
FBV FBV,即 func base views,函数视图,在视图里使用函数处理请求. 以用户注册代码为例, 使用两个函数完成注册 初级注册代码 def register(request): """返回注册页面""" return render(request, "register.html") def register_handle(request): """进行注册处理""…
引用自:https://blog.csdn.net/weixin_42950386/article/details/83143293 定义模型类 模型类被定义在"应用/models.py"文件中,此例中为"booktest/models.py"文件.模型类必须继承自Model类,位于包django.db.models中.提示:对于重要数据使用逻辑删除. 示例演示 接下来首先以"图书-英雄"管理为例进行演示.注意:这里我们用的版本是django==…
FBV FBV(function base views) 就是在视图里使用函数处理请求. 在之前django的学习中,我们一直使用的是这种方式,所以不再赘述. CBV CBV(class base views) 就是在视图里使用类处理请求. Python是一个面向对象的编程语言,如果只用函数来开发,有很多面向对象的优点就错失了(继承.封装.多态).所以Django在后来加入了Class-Based-View.可以让我们用类写View.这样做的优点主要下面两种: 提高了代码的复用性,可以使用面向对…
FBV django CBV & FBV - FBV function basic view a. urls 设置 urls(r'^test.html$', views.test) b. views写法 def test(request): return ... c. FBV添加装饰器 - 定义装饰器 def wrapper(func): def inner(*args, **kwargs): return func(*args, **kwargs) return inner - 使用装饰器方法…
一.Django概述 Django大而全; 创建Django工程:django-admin startproject sitename 创建django之后生成的目录结构如下: Project Project settings url wsgi web model views test admin administrator Django工程目录结构 D:\python_scripts\s11day17_Django>python manage.py startapp app01  #创建app…
前言 Django REST framework is a powerful and flexible toolkit for building Web APIs. 本文由浅入深的引入Django REST framework (以后简称DRF)并剖析源码流程,让看官们对DRF有更深的认识,在使用的时候更得心应手. 如有错误,不吝赐教 帮忙指正,水平有限,本文示例代码请核对后使用. 前后端分离 什么是前后端分离以及前后端分离的应用场景? 我实在不知道怎么描述,下面给一个我自己的片面理解: RES…
Django的View(视图) 一个视图函数(类),简称视图,是一个简单的Python 函数(类),它接受Web请求并且返回Web响应. 响应可以是一张网页的HTML内容,一个重定向,一个404错误,一个XML文档,或者一张图片. 无论视图本身包含什么逻辑,都要返回响应.代码写在哪里也无所谓,只要它在你当前项目目录下面.除此之外没有更多的要求了——可以说“没有什么神奇的地方”.为了将代码放在某处,大家约定成俗将视图放置在项目(project)或应用程序(app)目录中的名为views.py的文件…
使用Python3.6与Django2.0.2(Django-rest-framework)以及前端vue开发的前后端分离的商城网站 项目支持支付宝支付(暂不支持微信支付),支持手机短信验证码注册, 支持第三方登录.集成了sentry错误监控系统. 本小节内容: Django原生以及使用drf 完成 商品列表页 django的view实现商品列表页 本章节很重要. 通过Django的fbv cbv (class base view)都可以实现. 更建议通过基于class的view编码,面向对象.…
一.django的FBV 和 CBV 1.FBV(基于函数的视图): urlpatterns = [ url(r'^users/', views.users), ] def users(request): user_list = ["amy", "jack", "lily"] return HttpResponse(json.dumps(user_list)) 2.CBV(基于类的视图): urlpatterns = [ url(r'^stude…
1.0 简述http协议和常用请求头 http协议: ( 基于TCP/IP通信协议来传递数据(HTML 文件, 图片文件, 查询结果等)) HTTP协议是Hyper Text Transfer Protocol(超文本传输协议)的缩写, 是用于从万维网(WWW:World Wide Web) 服务器传输超文本到本地浏览器的传送协议 HTTP是无连接:无连接的含义是限制每次连接只处理一个请求.服务器处理完客户的请求,并收到客户的应答后,即断开连接. 采用这种方式可以节省传输时间. HTTP是媒体独…
目录 1.Django ORM查询中select_related和prefetch_related的区别? 2.only与defer的用法? 3.Django ORM是什么? 4.Django创建项目命令? 5.Django创建项目后,项目文件下的组成部分?(对MVT的理解) 6.对MVC,MTV模型的理解? 6.Django中models利用ORM对Mysql进行查表的语句? 7.Django中间件的使用? 8.Django生命周期流程图? 9.谈一下对uWSGI和nginx的理解? 10.说…
Web框架简介 Web开发是Python语言应用领域的重要部分,也是目前最主要的Web开发语言之一,在其二十多年的历史中出现了数十种Web框架,比如Django.Tornado.Flask.Twisted.Bottle和Web.py等,有的历史悠久,有的发展迅速,还有的已经停止维护. Django: 发布于2003年,是当前Python世界里最负盛名且最成熟的Web框架,最初被用来制作在线新闻的Web站点,Django的各模板之间结合得比较紧密,所以在功能强大的同时又是一个相对封闭的系统(依然可…
一.分页代码如下 from django.utils.safestring import mark_safe class Page: def __init__(self, current_page, data_count, per_page_count=10, pager_num=7): self.current_page = current_page self.data_count = data_count self.per_page_count = per_page_count self.p…
一.Django 模型(数据库) Django模型是与数据库相关的,与数据库相关的代码一般写在models.py中,Django支持sqlite3,MySQL,PostgreSQL等数据库,只需要在settings.py中配置即可,不用更改models.py中的代码,丰富的API极大的方便了使用. 本节的代码:(Django 1.6,Python 2.7 测试环境) 可以按照我的步骤来开始做: root@w:~# django-admin startproject learn_models #新…
Reference: http://blog.csdn.net/seele52/article/details/14105445 译序:虽然本文号称是"hello world式的教程"(这么长的hello world?!),内容上也确实是Django Rest Framework和AngularJS能做出来的相对最简单的东西了,但是鉴于Django, Django Rest Framework和AngularJS本身的复杂程度,本文还是比较适合对于这几个构架还是需要有一点基础性了解的小…
1.Django请求的生命周期 a. wsgi, 创建socket服务端,用于接收用户请求并对请求进行初次封装. b. 中间件,对所有请求到来之前,响应之前定制一些操作. c. 路由匹配,在url和视图函数对应关系中,根据当前请求url找到相应的函数. d. 执行视图函数,业务处理[通过ORM去数据库中获取数据,再去拿到模板,然后将数据和模板进行渲染] e. 再经过所有中间件. f. 通过wsgi将响应返回给用户. 2.简述django对http请求的执行流程. 一个 HTTP 请求,首先被转化…
1. 伪静态设置: 路由层: url('^index/$', views.index), url('^article/(?P<id>(\d+)).html/$', views.article, name='article') #只有在正则表达式后面添加 ".html" 就可以成为伪静态的页面文件 2. rquest 获取对象 ''' 1. method: 请求方式 2. GET: get请求的参数 3. POST: post请求的参数(本质是从bdoy中取出来) 4. bo…
前言 基本环境 Django版本:1.11.8 Python版本:3.6 OS: win10 x64 本文摘要 提供了常用的Django内置过滤器的详细介绍,包括过滤器的功能.语法.代码和效果示例. 本文完整项目文件代码下载地址:完整示例 Django完整内置过滤器帮助文档:Django内置过滤器完整版 参考文献:Django 中文文档 1.8 内置过滤器 注意:所有带参数的过滤器,在使用时,冒号:和参数中间不能有空格. add加 功能: 把add后的参数num加给value: 数字相加会进行算…
Django Python的WEB框架有Django.Tornado.Flask 等多种,Django相较与其他WEB框架其优势为:大而全,框架本身集成了ORM.模型绑定.模板引擎.缓存.Session等诸多功能,可以快速搭建高性能,优雅的网站. 一.安装启动Django project 1.安装 pip3 install django ps:python版本为3.6 Django版本为2.0.2 2.创建Django工程 django-admin startproject [project_n…
1 xss攻击 xss攻击(跨站脚本攻击,用户页面提交数据来盗取cookie) - 慎用safe, 和mark_safe -- 如果要用,必须要过滤 - 定义: 用户提交内容,在页面展示用html显示的时候 页面提交一些script脚本,盗取cookie # views msg = [] def xss(request): if request.method == "GET": return render(request, 'xss.html') else: tmp = request…
1. django模式 def users(request): user_list = ['alex','oldboy'] return HttpResponse(json.dumps((user_list))) FBV,function base view 路由: url(r'^students/', views.StudentsView.as_view()), 视图: 通过发射来找到对应的方法去执行 from django.views import View class StudentsVi…

drf

跨域同源 django做跨域同源 需要把csrf去掉 跨站请求伪造 同源 同源机制:域名.协议.端口号相同的同源 简单请求 不写头部请求 跨域会拦截报错缺少请求信息 (1) 请求方法是以下三种方法之一:(也就是说如果你的请求方法是什么put.delete等肯定是非简单请求) HEAD GET POST (2)HTTP的头信息不超出以下几种字段:(如果比这些请求头多,那么一定是非简单请求) Accept Accept-Language Content-Language Last-Event-ID…
过滤器 对查询出来的数据进行筛选可写可不写 from rest_framework.filters import BaseFilterBackend 源码 ''' def filter_queryset(self, request, queryset, view): #继承了这个类必须写这个方法不然报错 raise NotImplementedError(".filter_queryset() must be overridden.") ''' view是当前视图self querys…
djangorestframework技术文档 restfrmework规范 开发模式 普通开发为前端和后端代码放在一起写 前后端分离为前后端交互统统为ajax进行交互 前后端分离 优点:分工明细,节省开发周期.代码维护性强! 后端开发 为前端提供URL(API开发) django FBV和CBV FBV function base view CBV class base view FBV def student(request): #代码片段 return HttpResponse('返回值'…