Django csrf 官网:https://docs.djangoproject.com/zh-hans/3.2/ref/csrf/ 1、CSRF是什么跨站请求伪造(CSRF)与跨站请求脚本正好相反。跨站请求脚本的问题在于,客户端信任服务器端发送的数据。跨站请求伪造的问题在于,服务器信任来自客户端的数据。 2、无 CSRF 时存在的隐患跨站请求伪造是指攻击者通过 HTTP 请求江数据传送到服务器,从而盗取回话的 2021-08-08 Python > Django #Python #Django
Django 之入口源码解析 Django 入口源码解析django的后台进程通常通过下面这种方式运行: 12python manage.py runserver 127.0.0.1:8009 [options]python manage.py app [options] 我们假设当前的项目名为myproject,这里app表示要运行的app名称,具体为django项目中module/management/ 2021-08-08 Python > Django #Python #Django
Django 之数据库连接丢失问题的解决 问题在Django中使用mysql偶尔会出现数据库连接丢失的情况,错误通常有如下两种 OperationalError: (2006, ‘MySQL server has gone away’)OperationalError: (2013, ‘Lost connection to MySQL server during query’) 查询mysql全局变量SHOW GLOBAL VAR 2021-08-08 Python > Django #Python #Django
Django 使用getattr() 方法获取配置文件的变量值 1234from django.conf import settings item = getattr(settings, "变量名", "取不到就给一个默认值") 2021-08-08 Python > Django #Python #Django
Django 入门之 Cookie、Session cookieCookie的由来大家都知道HTTP协议是无状态的。无状态的意思是每次请求都是独立的,它的执行情况和结果与前面的请求和之后的请求都无直接关系,它不会受前面的请求响应情况直接影响,也不会直接影响后面的请求响应情况。一句有意思的话来描述就是人生只如初见,对服务器来说,每次的请求都是全新的。状态可以理解为客户端和服务器在某次会话中产生的数据,那无状态的就以为这些数据不会被保留。会话中产生的数 2021-08-08 Python > Django #Python #Django
Django 入门之 Form 和 ModelForm 组件 Form介绍我们之前在HTML页面中利用form表单向后端提交数据时,都会写一些获取用户输入的标签并且用form标签把它们包起来。与此同时我们在好多场景下都需要对用户的输入做校验,比如校验用户是否输入,输入的长度和格式等正不正确。如果用户输入的内容有错误就需要在页面上相应的位置显示对应的错误信息.。 Django form组件就实现了上面所述的功能。总结一下,其实form组件的主要功能如下: 生 2021-08-08 Python > Django #Python #Django
Django 入门之 ORM 介绍 字段 字段参数 元信息 ORMORM概念对象关系映射(Object Relational Mapping,简称ORM)模式是一种为了解决面向对象与关系数据库存在的互不匹配的现象的技术。 简单的说,ORM是通过使用描述对象和数据库之间映射的元数据,将程序中的对象自动持久化到关系数据库中。 ORM在业务逻辑层和数据库层之间充当了桥梁的作用。 ORM由来让我们从O/R开始。字母O起源于”对象”(Object),而R则 2021-08-08 Python > Django #Python #Django
Django 入门之 ORM 区分大小写 orm 在查询时默认不区分大小写,使用以下关键字时会区分大小写 contains/icontains contains: 进行大小写敏感的判断,某个字符串是否包含在指定的字段中,在被翻译成“SQL”语句的时候,会使用“like binary”, 而“like binary”就是使用大小写敏感进行判断。 icontains: 进行大小写不敏感的判断,某个字符串是否包含在指定的字段中,在被翻 2021-08-08 Python > Django #Python #Django
Django 入门之 ORM 增删改查,F Q 原生sql 添加表记录普通字段1234567891011121314151617# 方式1publish_obj=Publish(name="人民出版社",city="北京",email="renMin@163.com")publish_obj.save() # 将数据保存到数据库# 方式2 # 返回值publish_obj是添加的记录对象publish_obj=Publish.objects.create( 2021-08-08 Python > Django #Python #Django
Django 入门之 ORM 缓存 中介模型 查询优化 QuerySet可切片,切片不会记录到缓存使用Python 的切片语法来限制查询集记录的数目 。它等同于SQL 的LIMIT 和OFFSET 子句。 12Entry.objects.all()[:5] # (LIMIT 5)Entry.objects.all()[5:10] # (OFFSET 5 LIMIT 5) 不支持负的索引(例如Entry.objects.all()[-1 2021-08-08 Python > Django #Python #Django
Django 入门之 View 视图 Django的View(视图)一个视图函数(类),简称视图,是一个简单的Python 函数(类),它接受Web请求并且返回Web响应。 响应可以是一张网页的HTML内容,一个重定向,一个404错误,一个XML文档,或者一张图片。 无论视图本身包含什么逻辑,都要返回响应。代码写在哪里也无所谓,只要它在你当前项目目录下面。除此之外没有更多的要求了。为了将代码放在某处,大家约定成俗将视图放置在项目(pr 2021-08-08 Python > Django #Python #Django
Django 入门之 admin admin组件使用Django 提供了基于 web 的管理工具。 Django 自动管理工具是 django.contrib 的一部分。你可以在项目的 settings.py 中的 INSTALLED_APPS 看到它: 1234567891011# Application definitionINSTALLED_APPS = [ 'django.contrib.admin 2021-08-08 Python > Django #Python #Django
Django 入门之 contenttypes contenttypes组件Django包含一个contenttypes应用程序(app),可以跟踪Django项目中安装的所有模型(Model),提供用于处理模型的高级通用接口。 Contenttypes应用的核心是ContentType模型,位于django.contrib.contenttypes.models.ContentType。 ContentType的实例表示并保存项目中安装的模型 2021-08-08 Python > Django #Python #Django
Django 入门之中间件 我们在前面的课程中已经学会了给视图函数加装饰器来判断是用户是否登录,把没有登录的用户请求跳转到登录页面。我们通过给几个特定视图函数加装饰器实现了这个需求。但是以后添加的视图函数可能也需要加上装饰器,这样是不是稍微有点繁琐。 学完今天的内容之后呢,我们就可以用更适宜的方式来实现类似给所有请求都做相同操作的功能了 中间件 中间件介绍什么是中间件?官方的说法:中间件是一个用来处理Django的请求和响应 2021-08-08 Python > Django #Python #Django
Django 入门之分页 Django 组件之分页 – LePengDjango的分页器(paginator)view12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758from django.shortcuts import render,HttpRespons 2021-08-08 Python > Django #Python #Django
Django 入门之定时任务 方案一 django-crontab安装pip install django-crontab 部署在django项目的settings里添加如下: 1234INSTALLED_APPS = ( 'django_crontab', ...) 创建定时任务12def my_scheduled_job(): pass 配置定时任务在django项目的settings里添加如下: 123 2021-08-08 Python > Django #Python #Django
Django 入门之常用的 logging 配置 Django logging配置 – LePeng做开发离不开日志,写Django项目常用的logging配置。 12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576 2021-08-08 Python > Django #Python #Django
Django 入门之模板系统 Django模板系统官方文档 常用语法12只需要记两种特殊符号:{{ }}和 {% %}变量相关的用 **\{\{ \}\}**,逻辑相关的用{% %}。 变量在Django的模板语言中按此语法使用:**{{ 变量名 }}**。 当模版引擎遇到一个变量,它将计算这个变量,然后用 2021-08-08 Python > Django #Python #Django
Django 入门之缓存机制和序列化 1.缓存的简介在动态网站中,用户所有的请求,服务器都会去数据库中进行相应的增,删,查,改,渲染模板,执行业务逻辑,最后生成用户看到的页面. 当一个网站的用户访问量很大的时候,每一次的的后台操作,都会消耗很多的服务端资源,所以必须使用缓存来减轻后端服务器的压力. 缓存是将一些常用的数据保存内存或者memcache中,在一定的时间内有人来访问这些数据时,则不再去执行数据库及渲染等操作,而是直接从内存或 2021-08-08 Python > Django #Python #Django
Django 入门之认证系统 Django 认证系统我们在开发一个网站的时候,无可避免的需要设计实现网站的用户系统。此时我们需要实现包括用户注册、用户登录、用户认证、注销、修改密码等功能,这还真是个麻烦的事情呢。 Django作为一个完美主义者的终极框架,当然也会想到用户的这些痛点。它内置了强大的用户认证系统–auth,它默认使用 auth_user 表来存储用户数据。 auth模块1from django.contrib i 2021-08-08 Python > Django #Python #Django