Django
文章平均质量分 92
六花の勇士
六角形的雪花
展开
-
django外部使用orm进行数据库操作
import os,django,sys sys.path.append('../') # 加载项目目录os.environ['DJANGO_SETTINGS_MODULE'] = '项目名称.settings'django.setup()from app1 import modelsif __name__ == '__main__': models.Comment.objects.filter()原创 2020-07-09 17:58:07 · 409 阅读 · 0 评论 -
【Django】Celery定时任务
CeleryCelery是由Python开发的一个简单、灵活、可靠的处理大量任务的分发系统,它不仅支持实时处理也支持任务调度。user:用户程序,用于告知celery去执行一个任务。broker: 存放任务(依赖RabbitMQ或Redis,进行存储)worker:执行任务Django中应用Celery下载pip3 install django-celery-beatpip3...原创 2020-05-06 20:36:26 · 282 阅读 · 1 评论 -
【django】DRF
DRFDRF(Django REST framework)框架是建立在Django框架基础之上,本质上它就是Django的一个App,通过DRF能够快速设计符合RESTful规范的接口,并且它还提供了一些功能。安装pip3 install djangorestframework使用drf本质是一个app,所以如果想要在Django项目中使用它就需要在settings配置文件中进行注册...原创 2020-04-23 15:55:41 · 386 阅读 · 0 评论 -
【django】jwt
jwtJSON Web Tokens,是一种开发的行业标准 RFC 7519 ,用于安全的表示双方之间的声明。目前,jwt广泛应用在系统的用户认证方面,特别是现在前后端分离项目。在项目开发中,一般会按照上图所示的过程进行认证,即:用户登录成功之后,服务端给用户浏览器返回一个token,以后用户浏览器要携带token再去向服务端发送请求,服务端校验token的合法性,合法则给用户看数据,否则,...原创 2020-04-18 15:03:37 · 133 阅读 · 0 评论 -
【django】分页组件
from django.utils.safestring import mark_safeclass Paging: def __init__(self,current_page_number,total_count,per_page_count=10,page_number_show=7,recv_data=None): """ :param curre...原创 2020-04-11 20:37:20 · 147 阅读 · 0 评论 -
【django】读写分离
配置多个数据库1.修改django的settings配置文件DATABASES = { 'default': { 'ENGINE': 'django.db.backends.sqlite3', 'NAME': os.path.join(BASE_DIR, 'db.sqlite3'), }, 'db2': { 'ENGIN...原创 2020-04-11 14:12:34 · 126 阅读 · 0 评论 -
【django】信号
信号Django中提供了“信号调度”,用于在框架执行操作时解耦。通俗来讲,就是一些动作发生的时候,信号允许特定的发送者去提醒一些接受者。Django内置信号Model相关信号pre_init:django的model执行其构造方法前,自动触发post_init:django的model执行其构造方法后,自动触发pre_save:django的model对象保存前,自动触发,新增或者更...原创 2020-04-11 12:09:02 · 131 阅读 · 0 评论 -
【django】缓存机制
缓存机制由于Django是动态网站,所有每次请求均会去数据进行相应的操作,当程序访问量大时,耗时必然会更加明显,最简单解决方式是使用:缓存,缓存将一个某个views的返回值保存至内存或者memcache中,若某个时间内再次发生同一个请求,则不再去执行请求响应过程,而直接从内存或高速缓存系统中获取该请求的响应内容返回给用户。缓存方式Django提供了5种不同的缓存方式:Memcached:...原创 2020-04-10 20:53:02 · 235 阅读 · 0 评论 -
【Django】跨域和同源
同源1995年,同源政策由 Netscape 公司引入浏览器。目前,所有浏览器都实行这个政策。同源策略:最初,它的含义是指,A网页设置的 Cookie,B网页不能打开,除非这两个网页"同源"。所谓"同源"指的是"三个相同":域名、协议、端口号相同即为同源,同源政策的目的,是为了保证用户信息的安全,防止恶意的网站窃取数据。不受同源策略限制:页面中的链接,重定向以及表单提交是不会受到同源策略限...原创 2020-04-09 14:48:45 · 146 阅读 · 0 评论 -
WebSocket
WebSocketWebSocket协议是基于TCP的一种新的协议。WebSocket最初在HTML5规范中被引用为TCP连接,作为基于TCP的套接字API的占位符。它实现了浏览器与服务器全双工(full-duplex)通信。其本质是保持TCP连接,在浏览器和服务端通过Socket进行通信。原理建立连接客户端向服务器发送随机字符串(Sec-WebSocket-Key),服务器接收到随机字符...原创 2020-04-07 19:57:18 · 251 阅读 · 0 评论 -
Form和ModelForm
FormForm是Django提供的一个组件,主要作用有:生成页面可用的HTML标签、对用户提交的数据进行校验、保留上次输入内容生成标签视图函数:from django import formsclass User(forms.Form): username = forms.CharField( label="用户名", # 自定义label名,默认为当前字段名...原创 2019-11-07 21:13:47 · 776 阅读 · 0 评论 -
中间件
中间件中间件是介于request与response处理之间的一道处理过程,相对比较轻量级,并且在全局上改变django的输入与输出django默认中间件MIDDLEWARE = [ 'django.middleware.security.SecurityMiddleware', 'django.contrib.sessions.middleware.SessionMiddle...原创 2019-11-07 21:02:44 · 168 阅读 · 0 评论 -
事务
通过给函数加装饰器使用from django.db import transaction@transaction.atomicdef viewfunc(request): # This code executes inside a transaction. do_stuff()作为上下文管理器来使用from django.db import transaction...原创 2019-11-07 20:52:08 · 101 阅读 · 0 评论 -
文件上传
form表单上传文件默认情况下,enctype的值是application/x-www-form-urlencoded,不能用于文件上传,只有使用了multipart/form-data,才能完整的传递文件数据。<form action="" method="post" enctype="multipart/form-data"> {% csrf_token %} ...原创 2019-11-07 20:46:45 · 112 阅读 · 0 评论 -
csrftoken
csrftokenCSRF(Cross-site request forgery),中文名称:跨站请求伪造,也被称为:one click attack/session riding,缩写为:CSRF/XSRF。攻击者通过HTTP请求江数据传送到服务器,从而盗取回话的cookie。盗取回话cookie之后,攻击者不仅可以获取用户的信息,还可以修改该cookie关联的账户信息。解决csrf攻击的最...原创 2019-10-28 10:23:53 · 1136 阅读 · 0 评论 -
Ajax
AjaxAJAX(Asynchronous Javascript And XML)翻译成中文就是“异步的Javascript和XML”。即使用Javascript语言与服务器进行异步交互,传输的数据为XML(传输的数据不只是XML,更多使用json数据)。AJAX 不是新的编程语言,而是一种使用现有标准的新方法。 AJAX 最大的优点是在不重新加载整个页面的情况下,可以与服务器交换数据并更...原创 2019-10-24 11:01:19 · 119 阅读 · 0 评论 -
cookie和session
cookiecookie是浏览器的技术,Cookie具体指的是一段小信息,它是服务器发送出来存储在浏 览器上的一组组键值对,可以理解为服务端给客户端的一个标注,下次访问服务器时浏览器会自动携带这些键值对,以便服务器提取有用信息。原理浏览器访问服务端,带着一个空的cookie,然后由服务器产生内容,浏览器收到相应后保存在本地;当浏览器再次访问时,浏览器会自动带上Cookie,这样服务器就能通过...原创 2019-10-24 10:53:35 · 139 阅读 · 0 评论 -
ORM操作
ORM简介MVC或者MVC框架中包括一个重要的部分,就是ORM,它实现了数据模型与数据库的解耦,即数据模型的设计不需要依赖于特定的数据库,通过简单的配置就可以轻松更换数据库,这极大的减轻了开发人员的工作量,不需要面对因数据库变更而导致的无效劳动创建表在项目下的models.py中创建模型:class Sex(models.Model): name = models.CharFi...原创 2019-10-16 20:22:02 · 398 阅读 · 0 评论 -
视图函数
视图函数view一个视图函数(类),简称视图,是一个简单的Python 函数(类),它接受Web请求并且返回Web响应。响应可以是一张网页的HTML内容,一个重定向,一个404错误,一个XML文档,或者一张图片。CBV和FBVFBV在视图里使用函数处理请求from django.shortcuts import render,HttpResponse# Create your vie...原创 2019-10-16 18:00:21 · 1115 阅读 · 0 评论 -
模板渲染
语法变量 {{ }}逻辑{% %}注释 {# #}变量当模版引擎遇到一个变量,它将计算这个变量,然后用结果替换掉它本身。 变量的命名包括任何字母数字以及下划线 ("_")的组合。 变量名称中不能有空格或标点符号。def get(self,request): num = 1 name = "张三" li = [1,2,3,4] dic = {"1":"a"...原创 2019-10-16 16:40:31 · 890 阅读 · 0 评论 -
URL路由
URL配置URL配置就像Django 所支撑网站的目录。它的本质是URL与要为该URL调用的视图函数之间的映射表。基本格式from django.conf.urls import urlfrom django.contrib import adminfrom app1 import views //视图urlpatterns = [ url(r'^admin/', admin....原创 2019-10-16 16:43:01 · 865 阅读 · 0 评论 -
Django基础
web框架的本质所有的Web应用本质上就是一个socket服务端,而用户的浏览器就是一个socket客户端,基于请求做出响应,客户都先请求,服务端做出对应的响应,按照http协议的请求协议发送请求,服务端按照http协议的响应协议来响应请求socket模拟简单框架import socketfrom threading import Threadfrom urls import dics...原创 2019-10-16 10:47:38 · 205 阅读 · 0 评论 -
MTV框架和MVC框架
MVC框架Web服务器开发领域里著名的MVC模式,所谓MVC就是把Web应用分为模型(M),控制器©和视图(V)三层,他们之间以一种插件式的、松耦合的方式连接在一起,模型负责业务对象与数据库的映射(ORM),视图负责与用户的交互(页面),控制器接受用户的输入调用模型和视图完成用户的请求MTV框架Django的MTV模式本质上和MVC是一样的,也是为了各组件间保持松耦合关系,只是定义上有些许...原创 2019-10-16 10:22:01 · 1076 阅读 · 0 评论