Django学习 之后端视图与ajax】的更多相关文章

一.Ajax简介 在此之前你一定需要先学习下JavaScript JSON 可见: 前端学习 之 JavaScript 之 JSON 1.简单介绍 我们以前知道的前端向后端发送数据的方式有: GET:地址栏.a标签.Form表单 POST:Form表单 那么现在我们在学习一种:那就是ajax ajax:也是前端向后端发送数据的一种方式 AJAX(Asynchronous Javascript And XML)翻译成中文就是“异步Javascript和XML”.即使用Javascript语言与服务…
我在之前做了一个关于AJAX和form组件的笔记,可以参考:Django学习笔记(8)——前后台数据交互实战(AJAX):Django学习笔记(6)——Form表单 我觉得自己在写Django笔记(8)的时候,我只是对AJAX有个粗略的了解,就明白其两大优点,局部刷新和异步交互.Form组件知识虽然大多数都明白了,但是对局部钩子和全局钩子还不是很清楚.留了个坑,所以在以后的学习中,肯定会再遇到. 现在,我感觉自己将关于AJAX和Django的数据交互这部分了解清楚了,而且将Form组件的钩子也理…
Django限制请求method 常用的请求method GET请求 GET请求一般用来向服务器索取数据,但不会向服务器提交数据,不会对服务器的状态进行更改.比如向服务器获取某篇文章的详情. POST请求 POST请求一般是用来向服务器提交数据,会对服务器的状态进行更改.比如提交一篇文章给服务器. 限制请求装饰器 Django内置的视图装饰器可以给视图提供一些限制.比如这个视图只能通过GET的method访问等.以下将介绍一些常用的内置视图装饰器. 1.django.http.decorator…
人生苦短 ~ Tips:仅适用于 Python 3+(反正差别不大,py2 改改也能用).因为据 Python 之父 Guido van Rossum 说会在 2020 年停止对 Python 2 的官方支持,所以如果你还在使用 Python 2 那就要早做准备了,毕竟没有官方的支持使用起来也不顺心的. 1. Ajax 介绍 Ajax 即 “Asynchronous Javascript And XML”(异步 JavaScript 和 XML),是指一种创建交互式网页应用的网页开发技术. Aj…
Django请求周期 url ->  路由系统  ->函数或者类 -> 返回字符串 或者 模板语言 Form表单提交: 点击提交 -> 进入url系统  ->  执行函数或者类的方法 - > 返回字符串 ajax提交: 路由url 1.path('index/', views.index),一个url对应一个函数 2.path('home/', views.Home.as_view()),一个url对应一个类 3.url(r'^detail-(\d+).html',vi…
from django.shortcuts import render,redirect from django.http import HttpResponse,JsonResponse from datetime import datetime,timedelta # Create your views here. # request就是HttpRequest类型的对象 # request包含浏览器请求的信息 def index(request): '''首页''' # num = 'a'…
URLconf Django通过URLconf来响应网页请求,在项目设置settings.py中,设定了ROOT_URLCONF值来指定默认的URLconf(即mysite.urls),当HTTPRequst中没有urlconf属性的话,便会访问该默认值. 在urlconf中,设定了一组pattern: urlpatterns = [    url(r'^admin/', include(admin.site.urls)),] 可以往该列表中添加需要的url函数,每个url函数包含两个参数:匹配…
生成CSV文件 有时候我们做的网站,需要将一些数据,生成有一个CSV文件给浏览器,并且是作为附件的形式下载下来.以下将讲解如何生成CSV文件. 生成小的CSV文件 这里将用一个生成小的CSV文件为例.我们用Python内置的csv模块来处理csv文件,并且使用HttpResponse来将csv文件返回回去.示例代码如下: import csv from django.http import HttpResponse def csv_view(request): response = HttpRe…
类视图 在写视图的时候,Django除了使用函数作为视图,也可以使用类作为视图.使用类视图可以使用类的一些特性,比如继承等. View django.views.generic.base.View是主要的类视图,所有的类视图都是继承自他.如果我们写自己的类视图,也可以继承自他.然后再根据当前请求的method,来实现不同的方法.比如这个视图只能使用get的方式来请求,那么就可以在这个类中定义get(self,request,*args,**kwargs)方法.以此类推,如果只需要实现post方法…
视图:Views 获取用户请求的方法: 1: request.GET 2: request.POST 3: request.FILES # checkbox 等多选文件 4:request.POST.getlist() # 上传文件,form标签要做特殊设置 obj = request.FILES.get('fafafa') obj.name 上传的文件名 obj.chunks() 上传的文件内容 f = open(obj.name,mode='wb') for item in obj.chun…
请求解析一般都是通过请求的request获取一定参数,然后根据参数做一定业务逻辑判断,这其中可能包括查询数据库,然后将需要返回的数据封装成一个HttpResponse返回. 代码如下: 这是一个简单的处理请求的函数,对应之前url映射的  url(r'^articles/([0-9]{4})/$', views.year_archive),django会将url中用()包起来的内容作为变量传给函数,此处year_archive中的year变量就是([0-9]{4})代表的值. Article.o…
错误处理 在一些网站开发中.经常会需要捕获一些错误,然后将这些错误返回比较优美的界面,或者是将这个错误的请求做一些日志保存.那么我们本节就来讲讲如何实现. 常见的错误码 404:服务器没有指定的url. 403:没有权限访问相关的数据. 405:请求的method错误. 400:bad request,请求的参数错误. 500:服务器内部错误,一般是代码出bug了. 502:一般部署的时候见得比较多,一般是nginx启动了,然后uwsgi有问题. 自定义错误模板 在碰到比如404,500错误的时…
一,项目题目:扩展Django自带User模型,实现用户注册与登录 我们在开发一个网站的时候,无可避免的需要设计实现网站的用户系统.此时我们需要实现包括用户注册,登录,用户认证,注销,修改密码等功能.Django作为一个完美主义者的终极框架,当然也会想到用户的这些痛点,它内置了强大的用户认证系——auth,所以本文在不建立User模型的情况下实现用户的注册,登录和认证.另外对Django Auth自带的User模型进行扩展,运行用户添加更多的个人信息. 我在之前的Django学习笔记(9)——开…
一:Web投票示例 本节我们首先从全局范围再复习一下Django的概念,让自己对Django的设计理念, 功能模块,体系架构,基本用法有初步的印象. Django初始的详细博客内容:请点击我 该应用包括以下两个部分: 一个可以让公众用户进行投票和查看投票结果的站点 一个可以进行增删改查的后台admin管理界面 在开始之前,我们可以查看安装的Django是什么版本,在命令行输入: python -m django --version 1.1 新建项目 进入我们指定的项目保存目录,然后运行下面的命令…
Django:学习笔记(9)——视图 基础视图 基于函数的视图,我们需要在使用条件语句来判断请求类型,并分支处理.但是在基于类的视图中,我们可以在类中定义不同请求类型的方法来处理相对应的请求. 基于函数的视图 def my_view(request): if request.method == 'GET': # <view logic> return HttpResponse('result') 基于类的视图 from django.views import View class MyView…
Django:学习笔记(8)——视图…
一.Django的View(视图) 1.一个简单的视图 3.CBV和FBV 4.给视图加装饰器 使用装饰器装饰FBV 使用装饰器装饰CBV 二.Request对象和Response对象 1.request对象 1.请求相关的常用值 2.属性 3.方法 2.Response对象 1.使用 2.属性 3.JsonResponse对象 三.Django shortcut functions 1.render() 2.redirect() 一.Django的View(视图) 一个视图函数(类),简称视图…
1.开始一个项目: 进入创建的目录,然后: django-admin startproject myblog 2.启动开发服务器: python manage.py runserver 注:默认是8000端口,可以改,比如: python manage.py runserver 8001 3.一个视图就是Python的一个函数.这个函数第一个参数的类型是HttpRequest:它返回一个HttpResponse实例.为了使一个Python的函数成为一个Django可识别的视图,它一般必须满足这两…
创建一个简单的hello world 在day3中我们第一次运行了服务器,里面是一个django的欢迎页面,那是因为我们没有配置URL和视图,django在底层会自动跳转这个页面上 我们在mysite上创建一个views.py文件.这个文件是用来放置视图的,文件名可以任意,但是根据约定,把它命名成view.py是个好主意,这样有利于其他开发者读懂你的代码 我们的Hello world视图非常简单. 这些是完整的函数和导入声明,你需要输入到views.py文件: 创建视图 from django.…
用户认证组件的学习 用户认证是通过取表单数据根数据库对应表存储的值做比对,比对成功就返回一个页面,不成功就重定向到登录页面.我们自己写的话当然也是可以的,只不过多写了几个视图,冗余代码多,当然我们也可以封装成函数,简单代码.不过推荐使用Django提供的一套用户认证组件,原理其实类似,只不过功能更强大. 1,用户认证——auth模块 在进行用户登录验证的时候,如果是自己写代码,就必须要先查询数据库,看用户输入的用户名是否存在于数据库中:如果用户存在于数据库中,然后在验证用户输入的密码,这样一来,…
每日测验 """ 今日考题 1.什么是django中间件,它的作用是什么,如何自定义中间件,里面有哪些用户可以自定义的方法,这些方法有何特点 2.基于django中间件的功能设计,你有啥感悟和心得 3.什么是跨站请求伪造,你可以用一个具体的实例描述一下,django中如何防止及通过跨站请求伪造校验(form表单与ajax) 4.跨站请求伪造相关的装饰器有哪些,应用在FBV与CBV上的有什么异同 """ 昨日内容回顾 django请求生命周期流程图…
目录 Django学习之十: staticfile 静态文件 理解阐述 静态文件 Django对静态文件的处理 其它方面 总结 Django学习之十: staticfile 静态文件 理解阐述           静态文件在web开发中是肯定经常要用到的,所以要把静态文件弄懂弄清楚,一次搞懂了就不用以后在各种框架中提到静态文件,就要重新学习一次,毕竟静态文件都是相同的特性,没什么大的变化,就用一个模式思想去套框架对应的设置就行了.           同时,将静态文件访问处理从复杂视图逻辑中剥离…
一:Web框架介绍 框架,即framework,特指为解决一个开放性问题而设计的具有一定约束性的支撑结构,使用框架可以快速帮你开发特定的系统. Web框架是别人已经设定好的一个web网站模板,你学习它的规则,然后“填空”或“修改”成你需要的样子.简单说,就是你用别人搭建好的舞台来表演. 一般Web框架的架构这样的: 其他基于Python的Web框架,图tornado,flask,webpy都是在这个范围内进行增删裁剪的.例如tornado用的是自己的异步非阻塞“wsgi”,flask则只提供了最…
一,项目题目: 开发用户注册与登录系统 该项目主要练习使用Django开发一个用户注册与登录的系统,通过这个项目然后巩固自己这段时间所学习的Django知识. 二,项目需求: 开发一个简单的用户登录与注册系统 要求: 有用户注册页面 有用户登录页面 有用户登录成功的页面 有注册和登录的验证码提示 三,编码规范需求: 编码规范需求:15% 1. 代码规范遵守pep8 (https://python.org/dev/peps/pep-0008/) 2. 函数有相应的注释 3. 程序有文档说明文件(R…
Django学习之DRF-03 视图集    1.视图集介绍    2.视图集基本使⽤        1.需求 使⽤视图集获取列表数据和单⼀数据        2.实现 class BookInfoViewSet(mixins.ListModelMixin, mixins.RetrieveModelMixin, GenericViewSet): """使⽤视图集实现返回列表数据和单⼀数据""" queryset = BookInfo.object…
Django框架基础DRF-01 前后端分离介绍 1.前后端不分离图解 2.前后端分离图解     3.为什么要学习DRF    DRF可以帮助我们开发者快速的开发⼀个依托于Django的前后后端分离的项目 RESTful 介绍    1.认识 RESTful        1.在前后端分离的应⽤模式⾥,后端API接⼝如何定义?            需要⼀种规范和⻛格来约束后端程序员对接⼝的定义            RESTful 就是⽤来约束后端程序员对接⼝的定义的⼀种⻛格       …
本文学习如何通过Django使用Bootstrap.其实在之前好几个Django项目中已经尝试使用过了Bootstrap,而且都留有学习记录,我已经大概有了一个大的框架,那么本文就从头再走一遍流程,其实主要细节还是Bootstrap的常用的语法使用.除了基本流程,本文基于BBS+Blog项目进行学习,主要是完成其项目的模板的功能,顺带学习一下Bootstrap的内容. 我使用的Python版本为3.X,Bootstrap版本为3.3.31,Django版本为2.0. 模板语法不懂的可以参考博客:…
这篇博客主要完成一个BBS+Blog项目,那么主要是模仿博客园的博客思路,使用Django框架进行练习. 准备:项目需求分析 在做一个项目的时候,我们首先做的就是谈清楚项目需求,功能需求,然后才开始写,要是没有和产品经理聊清楚需求,到时候改的话就非常非常麻烦. 那此次写项目的话,我会严格按着此次写的项目流程完成项目.那下面就是此次的项目流程. 1,项目流程 1.1,功能需求分析(和产品经理聊清楚需求) 1,基于用户认证组件和AJAX实现登录验证(图片验证码) 2,基于AJAX 和Forms组件实…
一,项目题目: 开发图书管理页面 该项目主要练习Django对多个数据库进行增删改查的操作. 二,项目需求: 基础需求:75% 1. 列出图书列表.出版社列表.作者列表 2. 点击作者,会列出其出版的图书列表 3. 点击出版社,会列出旗下图书列表 4. 可以创建.修改.删除 图书.作者.出版社 升级需求:10% 1. 点击修改按钮,弹出模块框,模态框中展示该书的信息且信息可以修改, 2. 书名不可重复,不可修改 3. 修改图书信息时,使用ajax请求发送信息 三,编码规范需求: 编码规范需求:1…
1.前言 通过前面博客[django学习-10.django连接mysql数据库和创建数据表]里的操作,我们已经成功在数据库[hongjingsheng_project]里创建了一张数据表[hello_person]. 接着,我们通过完整的前后端交互,来展示django框架如何通过相关操作来实现对指定的一个数据表[hello_person]进行数据的新增/编辑/查询/删除这四种基本操作. 细节: ①.为了单独验证对数据表[hello_person]进行数据的新增/编辑/查询/删除这四种基本操作,…