首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往
您找到你想要的搜索结果了吗?
是的
没有找到

Django之ORM 对象-关系映射(一)

Django 的 ORM 是创建 SQL 去查询和操作数据库的一个 Python 式的方式。 通过 django 创建的数据库模型 ? 续 ? 生成的 mysql 数据库表 ?...ORM和数据库关系 在 Django model 是数据的单一、明确的信息来源。它包含了存储的数据的重要字段和行为。通常,一个模型(model)映射到一个数据库表。...综上所述,Django 提供了一个自动生成的数据库访问 API。 ? 在项目 manage.py 目录下,执行 python manage.py shell 进入 shell ?... Tb.objects.reverse() 对查询结果反向排序,请注意 reverse() 通常只能在具有已经定义顺序的 QuerySet 上调用(在 model 类的 Meta 中指定 ordering... Tb.objects.distinct() 从返回结果剔除重复记录(如果查询跨越多个表,可能在计算 QuerySet 时得到重复的结果。

1.2K30

那一次,Python 让我彻底「沦陷」

如果你问我为什么痴迷于 Python 的,那我就会从自己搭建简易的邮件报警服务说起,这件事情让我觉得 Python 实在是太高效了,学习的性价比非常高:作为一个 Python 小白,我能在两三天的时间内搭建一个稳健的邮件报警服务...问题是,如果非 Python 程序呢,我也想到了简单的解决方法,就是编写一个 Shell 脚本来调用 Python 程序,通过参数传递的方式来达到发邮件的目的,其他非 Python 程序只要调用这个 Shell...我这里使用了 8001 端口,使用一个冲突的端口就可以,如果指定,则默认为 8000 。...2、开发 mailapi 修改配置文件 django 发邮件使用 settings.py 配置的 smtp 邮件服务器,端口、用户名、密码等信息,因此在开始前先修改 api/settings.py 添加以下信息.../sendemail/ 会自动请求 http://ip:8001/api/sendemail/,但如果在浏览器访问,地址栏会显示: http://ip/api/sendemail/ ,体现端口号是因为

50920

DjangoRestFramework,restful规范、APIview、解析器组件、Postman等

远程过程调用(RPC) 远程过程调用为 Web 服务提供一个分布式函数/方法接口供用户调用。这是一种较传统的方式。通常,在 WSDL 对 RPC 接口进行定义(类似于早期的XML-RPC)。...该方式,通讯是由消息驱动,而不再是某个动作(方法调用)。这种 Web 服务也称为“面向消息的服务”。     网络应用程序,分为前端和后端两个部分。...一般来说,数据库的表都是同种记录的"集合"(collection),所以API的名词也应该使用复数。       ...三 Django RestFramework(简称DRF) drf是django发展来的一个符合restful接口规范的一个东西,啥东西呢,就是django的一个app,还记得app是啥。...postman测试一下看看效果,为什么

2.5K20

Web | Django 与数据库交互,你需要知道的 9 个技巧

因此,请确保在调用远程服务时始终设置超时时间: import requests response = requests.get( 'https://api.slow-as-hell.com',...这就是为什么需要使用限制(Limit)。...再举一个例子,这次列的值不会被很好地排序: [2–9], [1–7], [3–8] 再试着查找 5: [2–9] — 可能在这里 [1–7] — 可能在这里 [3–8] — 可能在这里 索引是无用的...为了充分利用它,列的值必须大致排序或聚集在磁盘上。 现在回到 Django,我们有哪些常被索引的字段,最有可能在磁盘上自然排序?没错,就是 auto_now_add。...但是现在,通过 Django 1.11 支持索引,我们可以轻松地将新类型的索引整合到我们的应用程序,使它们更轻,更快。

2.8K40

Python面试题大全(三):Web开发(Flask、爬虫)

蓝图的缺点: 不能在应用创建后撤销注册一个蓝图而销毁整个应用对象。...在flask,路由是通过装饰器给每个视图函数提供的,而且根据请求方式的不同可以一个url用于不同的作用。 Django 142.什么是wsgi,uwsgi,uWSGI?...146.简述Django请求生命周期 一般是用户通过浏览器向我们的服务器发起一个请求(request),这个请求会去访问视图函数,如果涉及到数据调用,那么这个时候视图函数返回一个模板也就是一个网页给用户...Django在中间件预置了六个方法,这六个方法的区别在于不同的阶段执行,对输入或输出进行干预,方法如下: 1.初始化:无需任何参数,服务器响应第一个请求的时候调用一次,用于确定是否启用当前中间件 def...157.有用过Django REST framework吗? Django REST framework是一个强大而灵活的Web API工具。

92520

DRF系列总结一:DRF是啥?为啥子要用?

大量的文档和社区支持 上面的说法可能不够直观,我站在API提供者的角度来列举几个好处: 安装到Django工程,你就能在Django中提供Restful接口了 你可以在一个Web页面上浏览自己提供了哪些...API,并且可以通过这个页面测试这些API 你不用自己写一套接口鉴权代码了 你不用自己写大量的CRUD接口了,简单配置即可 你不用自己写大量的条件查询接口了,简单配置即可 你不用自己写后台分页逻辑了,简单配置即可...为什么这么说?...我们可以看两张“糙图”(画的不是很精细): image.png 上面这张图是Django开发业务逻辑涉及最多的内容,设计好db后,在urls定义路由,在views添加视图函数,并编写业务逻辑,...通过Django+DRF,我们还可以很快速的配置出一套Django模型的CRUD接口,将一些开发工作变成配置工作,借助一些DRF周边工具,如django_filters,可以快速实现模型数据的过滤类接口

9.5K114

第 5 篇:用视图集,简化你的代码

因此,django-rest-framework 引入了视图集(Viewsets),把对同一个资源的不同操作,集中到一个类。...同样的,针对 Web 开发的常见逻辑,django-rest-framework 也提供了通用视图集,进一步简化开发工作。...basename 可以指定,django-rest-framework 会自动从视图集 get_queryset 方法返回的结果所关联的 model 获取一个默认值,其值为 model 名小写。...不过,根据 Python 之禅,显式优于隐式,因此即使你设置的 basename 和 django-rest-framework 默认生成的一样,也比指定要好。...运行开发服务器,访问 http://127.0.0.1:8000/api/,界面如下: django-rest-framework 为我们自动生成了 API 交互后台,在这个界面可以和我们创建的 API

80510

uWSGI详解_shell bash

允许在一个进程同时运行多个应用程序或应用框架。 负载均衡和远程处理,通过在网络上转发请求和响应消息。 进行内容后处理,例如应用XSLT样式表。...为什么有了uWSGI为什么还需要nginx?因为nginx具备优秀的静态内容处理能力,然后将动态内容转发给uWSGI服务器,这样可以达到很好的客户端响应。...这样,你就可以在浏览器访问你的Django程序了。所有的请求都是经过uwsgi传递给Django程序的。...1. xml 配置 请确定你在上一节django_wsgi.py文件已经存在了。...推断成立,但是虚拟环境里的 Django 会默认调用外部环境的 Python。解决方法:在虚拟环境里 pip install django。 OK,问题解决,一切正常。

83120

Django源码学习-2-Settings.py配置文件-上

Django 源码学习前,需要知道 Python 环境搭建、Django 如何下载安装、如何利用 Django 创建项目以及新建应用。...在编写代码的过程,会开始去思考,Django 提供的 API,是否能熟练使用,从模型到视图再到路由,再把项目运行,在浏览器上打开,有没有觉得很神奇?...为什么简短的几行代码就能在浏览器上访问到亲手写的网站。 ? 出于这种对未知又想学习的好奇心,先来渐渐熟悉下 Django 的 Settings.py 配置文件。...在知道 Django 的核心文件如何配置后,相信往后的学习会更加得心应手。 ① BASE_DIR 进入 Django 项目的 settings.py 文件。...DEBUG = True 代表是调试环境 DEBUG = False 代表是生产环境 DEBUG = True ④ ALLOWED_HOSTS 允许的主机路径,填写或者ALLOWED_HOSTS

57720

Django学习笔记之uWSGI详解

允许在一个进程同时运行多个应用程序或应用框架。 负载均衡和远程处理,通过在网络上转发请求和响应消息。 进行内容后处理,例如应用XSLT样式表。   ...为什么有了uWSGI为什么还需要nginx?因为nginx具备优秀的静态内容处理能力,然后将动态内容转发给uWSGI服务器,这样可以达到很好的客户端响应。...这样,你就可以在浏览器访问你的Django程序了。所有的请求都是经过uwsgi传递给Django程序的。...1. xml 配置 请确定你在上一节django_wsgi.py文件已经存在了。...推断成立,但是虚拟环境里的 Django 会默认调用外部环境的 Python。解决方法:在虚拟环境里 pip install django。 OK,问题解决,一切正常。

2.8K30

Django 笔记-2-源码理解-urls 篇

Django 笔记系列 Django 笔记-1-从请求到响应 前言 注:本文使用 Django 版本:4.2.x 最近在处理公司接口端(基于 DRF)业务逻辑的时候想要通过 DRF 的 DefaultRouter...本文以 Django 初始化和请求流程为主线,研究在这个过程 Django 的 urls 模块做了哪些工作,并不是详细讲解 urls 模块下的全部方法。...可以通过在传入的 HttpRequest 对象上设置属性 urlconf 来覆盖每个请求。详情请参见 Django 如何处理一个请求。...# 这个描述器的功能还是比较简单的大概理解就是: # 初始化时设置一个变量名称为 attr 的属性名称 # 将调用实例名字和变量 attr 相同的属性复制给 pattern # 将调用实例的..._get_response # 这里通过解包调用 ResolverMatch 对象的 __getitem__ 方法 callback, callback_args, callback_kwargs =

9610

Django-rest-framework 是个什么鬼?

其实,基于 django-rest-framework 的 RESTful API 的开发,过程是完全类似的: 绑定 URL 和视图函数。当用户访问某个 URL 时,调用绑定的视图函数进行处理。...使用约定的资源描述格式(例如 XML 或者 JSON)序列化资源并将数据返回给客户端(通过 HTTP 响应)。 对比发现,前两步几乎是完全相同的。...不同点在于,在传统的基于模板引擎的开发方式,资源使用 HTML 文档进行描述并返回给客户端,而在 RESTful API 的开发方式,资源通常被描述为 JSON 或者 XML 的格式返回给客户端。...有的同学就要问了,虽然 django 的视图函数通常情况下返回 HTML 文档的响应,但是 django 也支持返回 XML 格式或者 JSON 格式的响应,那么为什么还要使用 django-rest-framework...django-rest-framework 是基于 django 的拓展,专为 RESTful API 的开发而设计,提供了十分丰富的辅助类和函数,帮助我们方便地开发 API

98330

效率神器-快速定位最慢的代码

天下武功,唯快破。 编程也例外,你的代码跑的快,你能快速找出代码慢的原因,你的码功就高。...profile,哪一行代码执行比较慢,结果清晰可见: 分析 Django 代码 分析 Django 代码也非常简单,只需要在 Django 的配置文件的 MIDDLEWARE 添加 "pyinstrument.middleware.ProfilerMiddleware...url 后面加参数的方式查看性能分析,可以在 settings.py 文件添加: PYINSTRUMENT_PROFILE_DIR = 'profiles' 这样,每次访问一次 Django 接口...默认间隔 1ms 是记录堆栈帧的下限,但如果在单个函数调用花费了很长时间,则会在该调用结束时进行记录。如此有效地将这些样本“打包”并在最后记录。...比如说,我想弄清楚为什么 Django 的 Web 请求很慢。

56420

从 Python 转到 Go 语言的五大理由

我认为 Go 是很简单的编程语言,并且适应任何的应用环境,甚至比 Javascript 编程还要简单,这可能是 GO 编程语言能在这几年很快流行起来的原因吧。...为什么我们开始整合 API 服务和后端到单个项目中,主要的原因是他们有很多地方是相似的而且通过多种语言或者技术编程,代码存在很多重复的。...最终我们需要花费很多时间在个性化的 Django’s API 服务,特别是在定制 JSON 的响应。...一个月之后我们用 Django 建立的 API 服务,我感觉当你开发一些普通的应用使用 Django 是非常棒的,但是当你需要更高的性能和一些个性化的模块的东西的使用 Django 是会越来越复杂的。...在我们的 Backend 和 API 服务,我们得到了30%的性能优化。而且现在我可以实时处理日志,转换到数据库,并且通过 Websocket 处理一个或多个服务!

63030

Sentry 开发者贡献指南 - Django Rest Framework(Serializers)

如果写入适合 model,Django Rest Framework 序列化程序还可以将信息保存到数据库。...在上面给出的示例,类型被检查并且必须是某个字符串。如果某个字段与您的验证方法所期望的匹配,则会引发 ValidationError。...保存数据 确认数据有效后,您可以通过以下两种方式之一保存数据。上面给出的例子是 sentry 中最常见的。...get_attrs 方法 当 Django Rest Framework 具有类似功能时,为什么要这样做? get_attrs 方法就是原因。它允许您执行批量查询而不是多个查询。...在我们的示例,我可以过滤我想要的 item,并使用 python 将它们分配给相关 item, 而不是调用 ExampleTypes.objects.get(...) 多个 item。

1.1K30

为什么 Django 能持续统治 Python 开发世界

通过本篇博客,我来为大家讲解下为什么相比 Flask、Pyramid、Tornado、Bottle、Diesel、Pecan、Falcon 这些流行的 Python web 框架,Python 开发者更倾向于选择...如果您正在使用或曾经用过Flask,您一定注意到了它需要调用其他库,如Flask-Login来执行用户身份验证。 Django不是这样。...自由的API 使用Django,很容易根据您的模型生成Python API。 只需一个简单的命令,不需要额外的编码就足以开始生成API了。 独特的管理页面 ?...这就是Django的力量。 该框架使您能够快速轻松地从应用模型生成管理站点。 代码设计 与大多数 Web 框架相反,Django 通过使用称为 app 的东西,更容易地将新功能添加到产品。...在数据库自动创建表 如果你的数据库缺失了某一个表,你可以通过执行 Django 的迁移命令来自动创建它。 容易的数据迁移 数据迁移是 Django 中最有用的功能之一。

1.2K30
领券