Django-完美主义框架
文章平均质量分 94
Django 是用Python开发的一个免费开源的Web框架,可以用于快速搭建高性能,优雅的网站!采用了MVC的框架模式,即模型M,视图V和控制器C,也可以称为MVT模式,模型M,视图V,模板T。
大风车滴呀滴溜溜地转
为天地立心,为生民立命,为往圣继绝学,为万世开太平。
展开
-
什么是Django?
在这第一篇Django文章中,我们来讨论一下“什么是Django?”这个问题,并概述这个网络框架有什么特性和功能,包括一些高级功能,还会展示一些Django应用程序的主要构建模块,但我们并不会在本节中详细介绍,因为此时你还没有相应的DJango开发环境。原创 2020-07-05 21:07:04 · 1757 阅读 · 6 评论 -
http协议
http协议简介计算机与网络上的其它设备要相互通信,双方就必须基于相同的方法。比如,如何探测到通信目标、由哪一边先发起通信、使用哪种语言进行通信、怎样结束通信等规则都需要事先确定。不同的硬件、操作系统之间的通信,所有的这一切都需要一种规则,而我们就把这种规则称为协议(Protocol)。HTTP(Hyper Text Transfer Protocol),即超文本传输协议,是用于万维网服务...原创 2020-03-05 15:56:39 · 436 阅读 · 0 评论 -
Python后端架构演进
做了3年的后端开发, 经历一款SaaS产品从0到10(还没有到100, 哈哈哈)的过程, 3年间后端的架构逐步演变, 在微服务的实践过程中遇到的问题也越来越多, 在这里总结下.产品是一款服务于人力资源的SaaS在线服务, 面向HR有Web Android/iOS 小程序多个客户端, 后端采用RESTful风格API来提供服务. 主要使用Python语言, 方便快速迭代.架构的演进经历了4个大的...转载 2020-04-26 09:01:16 · 633 阅读 · 0 评论 -
搭建 Django 开发环境
前页 Overview: Django 次页 现在,你知道什么是Django。那么我们将向你展示如何在Windows,Linux(Ubuntu)和Mac OSX上设置和测试Django开发环境—无论你常用哪种操作系统,本文应该都能让你开始开发Django应用程序。 先备知识: 知道如何打开终端或命令行。了解如何在计算机的操作系统上安装软件包。 目标: 在你的计算机操作系统上运行Django(2.0)开发环境。 Django 开发环...原创 2020-07-05 21:09:02 · 591 阅读 · 2 评论 -
编写你的第一个 Django 应用,第 1 部分
安装完Django之后相信你已经迫不及待的想开始写代码了,接下来我们将通过一个示例学习,创建一个基本的投票应用程序。也许接下来我的操作你还不能完全理解明白,没关系,先通过这个例子熟悉一下Django项目的开发流程,具体的组件我们会在后续一一讲解。原创 2020-07-04 13:28:09 · 475 阅读 · 0 评论 -
编写你的第一个 Django 应用,第 2 部分
将在Django中建立数据库,创建您的第一个模型,并主要关注 Django 提供的自动生成的Admin管理页面。原创 2020-07-04 13:28:34 · 384 阅读 · 0 评论 -
编写你的第一个 Django 应用,第 3 部分
我们将继续编写投票应用,并且专注于如何创建公用界面——也被称为“视图”。原创 2020-07-04 13:29:06 · 399 阅读 · 0 评论 -
编写你的第一个 Django 应用,第 4 部分
我们将继续编写投票应用,专注于表单处理并且精简我们的代码。原创 2020-07-04 13:29:37 · 363 阅读 · 0 评论 -
编写你的第一个 Django 应用,第 5 部分
我们在前几章成功的构建了一个在线投票应用,在这一部分里我们将为它创建一些自动化测试。原创 2020-07-04 13:30:20 · 311 阅读 · 0 评论 -
编写你的第一个 Django 应用,第 6 部分
在上一节中我们为网络投票应用编写了测试,而现在我们要为它加上样式和图片。原创 2020-07-04 13:30:44 · 360 阅读 · 0 评论 -
编写你的第一个 Django 应用,第 7 部分
我们继续修改在线投票应用,这次专注于自定义之前见过的 Django 自动生成的Admin界面。原创 2020-07-04 13:31:17 · 375 阅读 · 0 评论 -
Django 模型 —— 模型介绍
基础:每个模型都是一个 Python 的类,这些类继承 django.db.models.Model模型类的每个属性都相当于一个数据库的字段。利用这些,Django 提供了一个自动生成访问数据库的 API。模型是为了准确且唯一的描述数据,它包含储存的数据的重要字段和行为。一般来说,每一个模型都映射一张数据库表。快速上手定义一个 Person 模型,拥有 first_name 和 last_name:from django.db import modelsclass Person(mod原创 2020-07-26 12:40:44 · 549 阅读 · 0 评论 -
Django 模型 —— 字段类型
模型字段参考本文档包含 Field 类的所有 API 参考,包括 字段操作 和 字段类型。参见若内置字段未满足需求,你可以试试 django-localflavor (文档),它包含了针对各别国家和文件的代码。当然,你也可以简单的 编写自定义模型字段。注解技巧性的,这些方法都被定义在 django.db.models.fields,但出于方便的目的,它们被导入 django.db.models;标准的转换是使用 from django.db import models 并利用 models原创 2020-11-24 16:10:34 · 383 阅读 · 0 评论 -
Django —— 模型层 —— QuerySet —— QuerySet方法参考
prefetch_related()prefetch_related(*lookups)返回一个QuerySet,该QuerySet将在单个批处理中为每个指定的查找自动检索相关对象。这与select_related的目的类似,因为这两种方法都是为了阻止由于访问相关对象而导致的大量数据库查询,但策略完全不同。select_related的工作原理是创建一个SQL连接并在select语句中包含相关对象的字段。因此,select_related将获取同一数据库查询中的相关对象。但是,为了避免由于跨“多”关原创 2020-08-17 13:36:57 · 485 阅读 · 0 评论 -
13.2.2 路由层——URL控制器
路由分发URL控制器本质就是URL与相应视图函数的映射表,通过这种方式告诉Django,对于客户端发来的某个URL应该调用哪一个函数来处理。在Django中,URL控制器为Matrix>urls.py文件:from django.contrib import adminfrom django.urls import pathfrom index.views import *# ...原创 2020-03-07 16:56:16 · 482 阅读 · 0 评论 -
13.2.3 视图层——视图函数
视图函数视图函数,也就是我们所说的views层,一个视图函数,简称视图,其实就是一个简单的Python函数,它接收WEB请求并返回WEB响应。响应的内容可以是HTML文档,可以是404错误,可以是一张图片……任何超文本都可以作为响应内容,并且无论视图本身包含什么逻辑,都要返回响应内容。视图函数虽然放到哪里都可以,但是默认约定是将视图放置在项目或应用程序目录中名为views.py的文件中。...原创 2020-03-08 10:46:58 · 640 阅读 · 0 评论 -
13.2.4 模板层——模板语言
Django约定将所有的HTML文档都放在templates文件夹下,注意,templates是模板的意思,这是因为放在templates文件夹下的并不全是HTML文档,如果文档中包含Django的模板语言,那就是Django模板文件。来思考一个响应的过程,当我们使用render()函数返回一个文档时,并不是读取HTML文档的内容然后直接返回,而是要做一层渲染。比如我们之前见过的{% %}语法...原创 2020-03-08 19:29:55 · 408 阅读 · 0 评论 -
13.2.5 模型层——单表操作
MVC框架中包括一个重要的部分,就是ORM,它实现了数据模型与数据库的解耦,即数据模型的设计不需要依赖于特定的数据库,通过简单的配置就可以轻松更换数据库。ORM极大的减轻了开发人员的工作量,不需要面对因数据库变更而导致的无效劳动。ORM是“对象-关系-映射”的简称。单表操作创建模型创建名为book的application,在 book > models.py 中创建模型:c...原创 2020-03-09 10:37:11 · 380 阅读 · 0 评论 -
13.2.6 会话跟踪技术
HTTP协议是无状态协议,也就是说每个请求都是独立的!无法记录前一次请求的状态。但HTTP协议中可以使用Cookie来完成会话跟踪!在Web开发中,使用session来完成会话跟踪,session底层依赖Cookie技术。Cookie概述Cookie是key-value结构,类似于一个python中的字典。随着服务器端的响应发送给客户端浏览器,然后客户端浏览器会把Cookie保存起来,当...原创 2020-03-17 21:49:41 · 320 阅读 · 0 评论 -
13.2.8 用户认证
一、auth模块from django.contrib import auth1.1 、authenticate()提供了用户认证,即验证用户名以及密码是否正确,一般需要username password两个关键字参数,如果认证信息有效,会返回一个 User 对象。authenticate()会在User 对象上设置一个属性标识那种认证后端认证了该用户,且该信息在后面的登录过程中是需要的...原创 2020-03-17 22:33:53 · 403 阅读 · 0 评论 -
13.2.9 中间件
一、中间件的概念中间件顾名思义,是介于request与response处理之间的一道处理过程,相对比较轻量级,并且在全局上改变django的输入与输出。因为改变的是全局,所以需要谨慎实用,用不好会影响到性能。如果你想修改请求,例如被传送到view中的HttpRequest对象。或者你想修改view返回的HttpResponse对象,这些都可以通过中间件来实现。可能你还想在view执行之前...原创 2020-03-17 22:48:16 · 294 阅读 · 0 评论 -
13.2.10 Ajax操作
一、Ajax简介AJAX(Asynchronous Javascript And XML)翻译成中文就是“异步Javascript和XML”。即使用Javascript语言与服务器进行异步交互,传输的数据为XML(当然,传输的数据不只是XML,现在更多使用json数据)。同步交互:客户端发出一个请求后,需要等待服务器响应结束后,才能发出第二个请求;异步交互:客户端发出一个请求后,无需等待服...原创 2020-03-22 17:51:30 · 322 阅读 · 0 评论 -
Django设计理念
设计理念本文档解释了 Django 开发人员在开发 Django 时使用的一些基本哲学, 它的目标是解释过去并指导未来。总体松耦合Django 栈的基本目标是 低耦合高内聚。框架里的不同层(Layers)不应该知道对方的代码,除非它们确实需要。例如,模板系统不需要知道用户的 Web 请求,数据库层不需要了解如果显示数据,而视图并不关心程序员所使用的模板系统。尽管为了方便 Django 带有一个完整的堆栈,但堆栈的各个部分尽可能独立于另一个堆栈。更少的代码Django 应用的代码应该尽可能地精原创 2020-11-24 16:31:16 · 620 阅读 · 0 评论 -
超详细的Django面试题
Hello,我是 Alex 007,为啥是007呢?因为叫 Alex 的人太多了,再加上每天007的生活,Alex 007就诞生了。框架层01.什么是Django框架?(初级)Django是一个开放源代码的Web应用框架,由Python写成。采用了MTV的框架模式。使用这种架构,程序员可以方便、快捷地创建高品质、易维护、数据库驱动的应用程序。它还包含许多功能强大的第三方插件,使得Djan...原创 2020-04-13 12:40:24 · 13365 阅读 · 4 评论 -
Django Model 自动生成 E-R 图
Django 提供第三方包 django-extensions,可以用来将 Django 中的 Models 生成 E-R 图。安装pip install django-extensions配置在 Django settings.py 文件, INSTALLED_APPS 中添加 django_extensions。INSTALLED_APPS = ( 'django_extensions',)生成 dot 文件python manage.py graph_model原创 2020-08-18 12:20:04 · 1938 阅读 · 0 评论 -
Django REST framework 开始
Django-REST框架是一个强大而灵活的构建webapi的工具包。您可能希望使用REST框架的一些原因:Web可浏览API是您的开发人员在可用性方面的巨大胜利。身份验证策略,包括OAuth1a和OAuth2的包。同时支持ORM和非ORM数据源的序列化。完全可定制-如果不需要更强大的功能,只需使用常规的基于函数的视图。广泛的文档和强大的社区支持。被国际知名公司使用和信任,包括Mozilla、Red Hat、Heroku和Eventbrite。要求REST框架要求:Python (原创 2020-07-29 10:40:08 · 547 阅读 · 0 评论 -
Django RestFramework BaseSerializer
BaseSerializer类,该类可用于轻松支持可选序列化和反序列化样式。此类实现与Serializer类具有相同的基本API:.data - 返回传出基元表示形式。.is_valid() - 反序列化和验证传入数据。.validated_data - 返回已验证的传入数据。.errors - 返回验证期间的任何错误。.save() - 将已验证的数据持久化到对象实例中。根据您希望序列化程序类支持的功能,可以重写四种方法:.to_representation() - 重写此项以支持读翻译 2020-09-10 14:25:40 · 411 阅读 · 0 评论 -
Django MPTT —— 概述
什么是修改前序树遍历?MPTT是一种在数据库中存储分层数据的技术,其目的是使检索操作非常有效。这种效率的折衷是,在树上执行插入和移动项需要更多的工作,因为需要一些额外的工作来保持树结构始终处于良好状态。下面是一篇关于MPTT的好文章,可以激发您的胃口,并提供有关该技术本身如何工作的详细信息:Trees in SQLStoring Hierarchical Data in a DatabaseManaging Hierarchical Data in MySQL什么是Django-MPTT?翻译 2020-11-15 13:10:53 · 1836 阅读 · 0 评论 -
Django MPTT —— 安装
官方发布官方版本可以从PyPI获得,您可以使用pip安装它:pip install django-mptt您还可以下载.zip分发文件并将其解压缩。里面有一个脚本名为setup.py。输入以下命令:python setup.py install…软件包将自动安装。开发版本或者,您可以从我们的git存储库获取最新的源代码:git clone git://github.com/django-mptt/django-mptt.git django-mptt将生成的文件夹添加到PYTHON翻译 2020-11-15 13:18:25 · 801 阅读 · 0 评论 -
Django-RQ介绍
Django-RQDjango与RQ集成,基于Redis的Python队列库。Django RQ是一个简单的应用程序,允许您在Django的settings.py中配置队列并在项目中轻松使用它们。RequirementsDjango (2.0+)RQ安装安装django-rq (从PyPI下载):pip install django-rq将django_rq添加到settings.py文件的INSTALLED_APPS中:INSTALLED_APPS = ( # ot原创 2020-08-17 15:12:29 · 1434 阅读 · 1 评论