django学习
tjial
这个作者很懒,什么都没留下…
展开
-
浅谈Django的Signals的实现
浅谈Django的Signals的实现在说Signals的实现之前,需要先了解一下发布/订阅模型模型介绍发布订阅是一种消息范式,消息的发送者不会将消息直接发送给特定的接收者。而是将消息发送某个频道上,无需了解哪些订阅者可能存在。同样的,订阅者可以表达对一个或多个频道的兴趣,只接收感兴趣的消息,无需了解哪些发布者存在。发布者即消息的生产者。频道一个消息的通道,标识发布者需要将消息发送到哪一个消息通道。订阅者即消息接收者。Django提供的Signals与model有关的signalsf原创 2020-11-22 15:57:59 · 392 阅读 · 0 评论 -
Django REST framework - View 视图
APIViewAPIView是rest framework中最常用也是最基本的一个视图。APIView继承自Django的View视图,并对Django的原生request进行了一些封装,主要封装了验证、权限、节流三部分。先看一下APIView中验证、权限、节流的流程是怎样的验证rest framework提供了一个验证的基类与4个验证类class BaseAuthenticati...原创 2020-03-23 23:10:14 · 347 阅读 · 0 评论 -
Django REST framework-学习日志-1-serializers
什么是RESTREST是一种设计规范,符合这种规范的API都可以称作RESTful API,那怎样的才算是符合,根据我自己的理解再加上在知乎上看过许多相关的信息,接用知乎上的以为用户的总结:看Url就知道要什么,看http method就知道干什么,看http status code就知道结果如何编写RESTful API的第一步serializationfrom rest_frame...原创 2019-09-01 19:55:02 · 467 阅读 · 0 评论 -
在django中实现邮件发送
今天看了下如何在django中发送邮件,看的时候有些地方不懂,但是在实践了一下后就明白了,废话不多说,直接上笔记 from django.core.mail import send_mail, send_mass_mail, mail_admins # 单发的邮件 """ send_main(subject,message,from_email,recipient_list,fai...原创 2019-06-28 23:56:11 · 1270 阅读 · 0 评论 -
django中有关用户的操作
1、创建用户 from django.contrib.auth.models import User user = User.objects.create_user('用户名','邮箱','密码')2、修改密码 user.set_password('新密码') user.save()3、用户验证用来验证是否有该数据,认证通过则返回一个User类对象,一项都没通过...原创 2019-06-28 20:54:24 · 1054 阅读 · 0 评论 -
django中的redis缓存
首先先来说一下缓存的基本操作 from django.core.cache import cache # 设置缓存数据, version用来控制版本,不同的版本之间的数据不互通 cache.set(key, value, timeout=default_timeout, version) # 获取缓存的数据,如果设置了default,则在没有获取到改key的值时,使用default ca...原创 2019-06-28 20:37:55 · 1274 阅读 · 0 评论 -
Django之Meta选项
''' 数据库模型 每个属性代表一个数据库的字段'''# CharField 相当于 varchar''' Meta选项'''# app_label# 用来指定你的model是属于哪个app''' 继承一:'''# 抽象基类,如果你需要将一些公共信息放在许多模型中,可以在Meta选项中设置# abstract = True 表示作为一个基...原创 2019-05-09 19:50:00 · 1223 阅读 · 0 评论 -
在django中使用sql语句查询
django中提供了一个raw()方法来使用sql语句进行查询 class Person(models.Model): first_name = models.CharField(max_length=50) last_name = models.CharField(max_length=50) birth_date = models.DateField(max_leng...原创 2019-05-13 21:37:34 · 3270 阅读 · 0 评论 -
Django之class-base view
Django提供的class-base view View:基础的View,实现了基于HTTP方法的分发逻辑,不同的请求方法会调用相应的方法, 即GET请求调用get方法,POST请求调用post方法 TemplateView:继承自View,可以直接用来返回指定的模板,实现了get方法,可以传递变量 到模板中来进行数据展示 DetailView:继承子View,实现了get方法,可以通...原创 2019-04-27 19:48:25 · 1615 阅读 · 0 评论 -
Django之中间件解析
中间件简介django 中的中间件(middleware),在django中,中间件其实就是一个类,在请求到来和结束后,django会根据自己的规则在合适的时机执行中间件中相应的方法。中间件的编写方式 class SimpleMiddleware: def __init__(self, get_response): self.get_response = get_re...原创 2019-04-21 18:42:49 · 702 阅读 · 0 评论 -
Django之settings详解
BASE_DIR BASE_DIR = os.path.dirname(os.path.dirname(os.path.abspath(__file__)))这个的作用是获取到根目录的,根据你的settings.py所在的位置不同,获取到的目录也是不同的,os.path.dirname()获取当前文件所在的目录。例如:你的settings.py是在这个目录下E:\py\Project\Pr...原创 2019-04-21 16:42:44 · 1408 阅读 · 1 评论 -
Django之admin解析
首先先来说一下admin中一些基础的配置 list_display # 用来配置列表页面展示哪些字段 list_display_links # 用来配置哪些字段可以作为链接,点击之后进入编辑页面 list_filter # 配置之页面的过滤器,需要通过哪些字段来过滤列表页面 search_fields # 配置搜索字段 actions_on_top # 动作相关的配置,是否展示...原创 2019-04-13 16:31:35 · 1242 阅读 · 0 评论 -
Django之ORM常用字段和字段参数
ORM字段介绍数字字段num = BigIntegerField() # 范围是从-9223372036854775808到 9223372036854775807num = IntegerField() # 范围是从-2147483648到2147483647PositiveIntegerField() # 0到2147483647PositiveSmallIntegerField...原创 2019-04-12 21:49:47 · 969 阅读 · 1 评论 -
一个简单的Web Server
通过socket编程实现的Web服务代码import errnoimport socketimport threadingimport timeEOL1 = b'\n\r'EOL2 = b'\n\r\n'body = '''Hello,world -from {thread_name}'''response_params = [ 'HTTP/1.0 200 OK', ...原创 2019-04-08 18:58:28 · 880 阅读 · 0 评论 -
Django的forms验证
forms验证的用途 - 用户提交的信息认证 - 错误信息反馈 - 保留上一次提交的数据自定义表单from django import forms as Dformsfrom django.forms import fieldsfrom django.forms import widgetsclass Detail_Forms(Dforms.Form): us...原创 2019-04-07 14:09:01 · 1329 阅读 · 0 评论 -
Django之ORM操作
**Queryset数据类型**QuerySet与惰性机制所谓惰性机制:Publisher.objects.all()或者.filter()等都只是返回了一个QuerySet(查询结果集对象),它并不会马上执行sql,而是当调用QuerySet的时候才执行。```pythonQuerySet特点: <1> 可迭代 <2> 可切片 <3> 惰性计算和缓存机制```**model.py创建表单**...原创 2019-04-07 12:43:40 · 1230 阅读 · 0 评论