
Django
二十七º
嘿咻嘿咻!
展开
-
怎样使用django的类视图处理登录注册功能(LoginView,LogoutView,CreateView)
登录注册是一个网站再平常不过的功能,因此Django内置了许多类和方法来帮助我们使开发更便捷,相比较于使用函数的方式来处理登录注册的后端代码,使用类的方式更为便捷方便,如下:urls.py:path('login/', views.LoginUser.as_view(), name='login'),path('register/', views.RegisterUser.as_view(), name='register'),path('logout/', views.LogoutUser.as.原创 2020-07-10 12:07:44 · 4067 阅读 · 0 评论 -
在Django中使用ajax的一些注意点
注意url与url.py中的url的绝对一致性。发送到后端的数据可以在request.GET或request.POST中(看你是什么HTTP请求了)ajax默认的是urlencoded编码格式,但它还可以发送application/json格式,但这时你发送的数据就必须是application/json格式,因此不要忘了序列化的转换。区分contentType与dataType,contentType是指定ajax发送的数据的格式,dataType指定ajax从后端接受到的数据必须是什么类型。da..原创 2020-05-13 14:51:40 · 366 阅读 · 0 评论 -
Django 绝对可以成功的通过cropper.js实现的头像上传功能
说实话,给Django项目加上可以上传头像的功能真的是花了我不少时间,差不多前后折腾了两天,期间也在网上找了很多很多,很多很多的例子,但是几乎无一例外在我这里都行不通,要么是点击提交按钮无反应,要么是报一些奇奇怪怪让我难以解决的错误,要么是大神写的代码实在是看不明白,连复制粘贴都胆战心惊,更不要说二次改造了。嘛,人菜就不得不瞎折腾,所幸,最后居然侥幸成功了,所以特地心情澎湃的写篇博客,记录一下...原创 2020-05-02 23:25:05 · 629 阅读 · 0 评论 -
Django 中间件详解
前言在Django中,中间件是一个非常重要的东西,你的任何Django项目都会用到中间件,在没接触到它之前,你可能对此一无所知,但请看一下如下的代码,是不是感觉很熟悉:MIDDLEWARE = [ 'django.middleware.security.SecurityMiddleware', 'django.contrib.sessions.middleware.Sessi...原创 2020-03-08 16:59:26 · 353 阅读 · 0 评论 -
Django的安全特性(二) 跨站点请求伪造(CSRF)保护
一、CSRF是什么?CSRF,中文名为跨站请求伪造,CSRF攻击指的是恶意用户盗用你的信息,以你的名义发送恶意请求。这将包括:以你的名义发送邮件,发送信息,盗取账号,购买商品,甚至货币转账等恶性行为。二、CSRF攻击原理如图:更具体的可以参阅这篇博客:CSRF攻击与防御这里不再过多介绍。三、在Django中使用CSRF保护Django的CSRF中间件和相关的模板标签提供了...原创 2020-03-06 14:43:57 · 526 阅读 · 0 评论 -
怎样在Django中使用Session?(详解)
一、什么是Session和Cookie?这里有必要先了解一下Session和Cookie的概念。我们知道,HTTP是无状态、无连接的协议,但是只要结合实际场景的话,你显然会对这个说法感到疑惑,因为有很多实际应用中的例子,似乎都表明了HTTP是’有状态’的。比方说,你登录一个网站,并没有输入账号密码就会自动登录,你在购物车中购买的商品,并没有标注你的身份就可以被服务器正确识别,这又是怎么一回事...原创 2020-03-04 19:40:43 · 5773 阅读 · 0 评论 -
Django的安全特性(一) 跨站点脚本(XSS)攻击保护
Django在很大程度上可以规避许多风险,但这并不说明使用Django就可以万无一失,要想让你的网站能够安稳运行,了解Django的安全特性非常重要,你要首先知道,在哪些方面Django提供了保护机制,而哪些地方Django做的还不太完善。一、跨站点脚本(XSS)攻击保护我们知道,Django的模板系统可以生成任何text-based格式,例如HTML。设想这样一种情况:Hello,{...原创 2020-03-03 15:27:24 · 760 阅读 · 0 评论 -
Django 类视图学习笔记(五) 在类视图中使用混合器,Django的Mixins详解(一)
前言Django的类视图提供了许多功能,但有时你可能仅仅只希望用到其中一两个功能。例如,你可能仅仅只想实现一个渲染模板并生成响应的视图,但是又不想使用TemplateView,使用函数视图的话,又会出现重复的代码逻辑。出于这个原因,Django还提供了许多功能独立的混合器,即mixins,例如,仅仅实现渲染模板的功能可以使用 TemplateResponseMixin。通过继承不同的mixin...原创 2020-02-27 15:23:21 · 1109 阅读 · 0 评论 -
Django 类视图学习笔记(四) 基于类视图处理表单
处理表单一般有以下三个步骤:在request.method为GET时初始化表单并呈现在前端页面。对POST方法中数据进行验证。得到有效数据做进一步处理(通常是重定向)。这些步骤通常会产生大量的重复代码,为了避免这种情况,Django为表单处理提供有特定的类视图。一、基本表单处理首先是forms.py:from django import formsclass Contac...原创 2020-02-25 14:51:52 · 608 阅读 · 0 评论 -
Django 类视图学习笔记(三) 内建类视图概览
简介编写Web程序可能是很单调的,因为视图层,模板层,模型层都可能会有大量逻辑类似的代码,但是我们却需要不断的重复编写它们,这肯定让人受不了。为此,Django在视图层,对经常要编写的,逻辑类似的事务代码进行了抽象,并封装在Django中,这就是内建类视图,之后我们就可以利用内建类视图来进行高效开发。这些通用的内建类视图可以处理以下事务逻辑:表示某个对象的列表页面和详情页面。比如博客网站...原创 2020-02-25 09:20:54 · 489 阅读 · 0 评论 -
Django 类视图学习笔记(一) 类视图概览
一、类视图相比于用函数来编写后端代码,使用类视图有如下优势:对于特定的HTTP 请求,不必再编写条件分支语句来判断如何执行,而是通过编写类方法来实现,使代码逻辑更加清晰。使用面向对象的原理,使代码可重用性更强。类视图属于Django视图层的一种高级用法,学会使用类视图,将会使我们在编写后端代码时更加得心应手,并使代码易读性更强。一个使用类视图的简单例子:from dj...原创 2020-02-24 16:20:58 · 396 阅读 · 0 评论 -
Django 类视图学习笔记(二)基础类视图
导言:本篇主要介绍Django的基础类视图,包括 View、TemplateView、RedirectView。一、Viewclass : django.views.generic.base.View所有基于类的视图都继承自该基类。(1)属性http_method_names :一个该视图可以接收的HTTP Method的列表。默认为:['get', 'post', 'pu...原创 2020-02-24 14:59:18 · 442 阅读 · 0 评论 -
Django 视图装饰器,通过装饰器添加Last-Modified和ETag
Django提供了几个可以应用于视图的装饰器,如下:一、对HTTP Method进行限制的装饰器这部分装饰器都内置在django.views.decorators.http下,用于根据请求方法限制对视图的访问。主要有:(1)require_http_methods(request_method_list)该装饰器要求视图只接受给定的请求方法,例:from django.views.d...原创 2020-02-22 18:19:39 · 519 阅读 · 0 评论 -
第一篇 用virtualenvwrapper创建Python虚拟环境,创建Django项目
前言何为Django?这个应该不用多说了吧,每一个学习它的人肯定都是有所了解了之后才会选择它。Django是用Python语言编写的一个开源Web框架,它采用MTV的框架模式,即Model(模型) + Template(模板) + View(视图),对MTV模式不了解也没关系,在之后的学习中,相信你会对它无比熟悉。正如Django官网描述的那样,如果你想高效,快速的完成一个Web开发项目,...原创 2020-02-19 09:44:19 · 471 阅读 · 0 评论 -
django 两分钟即可实现刷新验证码功能
在很多时候,我们都需要用到验证码,python的Pillow模块可以帮助我们绘制二维码,但是这种方法需要你事先了解Pillow模块,更方便的方法是直接使用django的第三方库 django-simple-captcha 模块。安装该模块只需要:pip install django-simple-captchacaptcha模块结合form表单使用非常方便,使用方法如下:forms...原创 2020-02-10 10:26:18 · 963 阅读 · 1 评论 -
django 文件上传功能的详细相关代码实现(简单易懂)
一、新建项目,在主配置文件中,修改以下内容:ALLOWED_HOSTS = ['127.0.0.1','localhost']MEDIA_ROOT = os.path.join(BASE_DIR,'media')STATICFILES_DIRS = [ os.path.join(BASE_DIR, 'static'), MEDIA_ROOT]在该项目下新建一个与 manage.py 同级...原创 2020-01-21 15:36:36 · 812 阅读 · 0 评论