随笔分类 - django
摘要:一、前言 在上一篇文章中项目中使用了webscoket进行实时通讯,但是生产环境又使用了django+nginx+uwsgi的部署方式,我们都知道uwsgi并不能处理websocket请求,所以需要asgi服务器来处理websocket请求,官方推荐的asgi服务器是daphne,下面将介绍详细的部
阅读全文
摘要:一、背景 在最近的项目中的一个需求是消息实时推送消息以及通知功能,项目使用django写的所以决定采用django-channels来实现websocket进行实时通讯。目前官方已经更新到2.1版本,相对于老的channels 1.x版本有了很大变化,无论是使用方式还是功能,其中最大的变化莫过于2.
阅读全文
摘要:一、前言 Celery是一个基于python开发的分布式任务队列,如果不了解请阅读笔者上一篇博文Celery入门与进阶,而做python WEB开发最为流行的框架莫属Django,但是Django的请求处理过程都是同步的无法实现异步任务,若要实现异步任务处理需要通过其他方式(前端的一般解决方案是aj
阅读全文
摘要:在实际的项目中很多时候需要用到下载功能,如导excel、pdf或者文件下载,当然你可以使用web服务自己搭建可以用于下载的资源服务器,如nginx,这里我们主要介绍django中的文件下载。 实现方式:a标签+响应头信息(当然你可以选择form实现) 路由url: views.py代码 其他逻辑不变
阅读全文
摘要:1.纯模板语言实现 2.自定义simpletag实现(本质是简化了纯模板语言的判断) 原理都是通过django路由系统,匹配url筛选条件,将筛选条件作为数据库查询结果,返回给前端。 例如:路由系统中的url格式是这样: 其中article_type_id和category_id和数据库中字段是相对
阅读全文
摘要:主要内容: 一、文件长传的三种方式 二、简单预览功能实现 1.页面代码 2.后端view函数处理 FormData使用方式: 创建一个空的FormData对象,然后再用append方法逐个增加键值对 var formdata = new FormData(); formdata.append("na
阅读全文
摘要:简介:django中的modelform组件同时具有model和form作用,但是耦合度比较高,当项目需要拆分时候就比较困难了,所以在使用modelform时候需要先考虑项目的扩展性。 定义: models.py modelform定义(只是测试,所以和view函数放在一起了) html代码:(和f
阅读全文
摘要:内容简介: 介绍Django中的F和Q作用以及使用方法 作用:操作数据表中的某列值,F()允许Django在未实际链接数据的情况下具有对数据库字段的值的引用,不用获取对象放在内存中再对字段进行操作,直接执行原生产sql语句操作。 通常情况下我们在更新数据时需要先从数据库里将原数据取出后方在内存里,然
阅读全文
摘要:Model组件在django基础篇就已经提到过了,本章介绍更多高级部分。 1、定义表(类) 2、model字段介绍 AutoField(Field) - int自增列,必须填入参数 primary_key=True BigAutoField(AutoField) - bigint自增列,必须填入参数
阅读全文
摘要:web框架中避免不了对表单的验证,我们可以通过js在表单数据提交前做一次校验,然而在Django中form组件不仅仅提供验证功能,还可以生成HTML,还可以与model结合使用,等等强大的功能。 先了解下主要的作用: 生成HTML标签 验证用户数据(显示错误信息) HTML Form提交保留上次提交
阅读全文
摘要:内容简介: cookie介绍 session介绍 分页 CSRF 中间件 缓存 信号 1、cookie机制 在程序中,会话跟踪是很重要的事情。理论上,一个用户的所有请求操作都应该属于同一个会话,而另一个用户的所有请求操作则应该属于另一个会话,二者不能混淆。例如,用户A在超市购买的任何商品都应该放在A
阅读全文
摘要:Python的WEB框架有Django、Tornado、Flask 等多种,Django相较与其他WEB框架其优势为:大而全,框架本身集成了ORM、模型绑定、模板引擎、缓存、Session等诸多功能。 Django是一个开放源代码的Web应用框架,由Python写成。采用了MVC的软件设计模式,即模
阅读全文