Python技术分享

深入浅出学习Python

问题

  • 没有认证和权限功能,任何资源都可以被任意用户随意修改,所以增加认证和权限功能
    • student与其创建者相互关联
    • 只有经过身份验证(登陆)的用户才可以创建student
    • 只有创建student的用户才可以对其进行更新和删除
    • 未经验证(游客)用户只能对数据进行访问(获取)的功能
阅读全文 »

配置应用

1
2
3
4
5
6
7
8
9
10
INSTALLED_APPS = [
'django.contrib.admin',
'django.contrib.auth',
'django.contrib.contenttypes',
'django.contrib.sessions',
'django.contrib.messages',
'django.contrib.staticfiles',
'myApp',
'rest_framework',
]
阅读全文 »

协议

  • API与用户的通信协议总是使用HTTPS协议

域名

  • 尽量将API部署在专用域名下:https://api.sunck.wang
  • 如果API比较简单,不会有进一步的扩展,可以考虑放在主域名下:http://www.sunck.wang
阅读全文 »

概述

  • 网站即软件
    • 是一种新型的软件,采用客户端/服务器模式,建立在分布式体系上,通过互联网通信,具有高延时( high latency)、高并发等特点。
  • 网站开发
    • 完全可以采用软件开发的模式。但是传统上,软件和网络是两个不同的领域,很少有交集;软件开发主要针对单机环境,网络则主要研究系统之间的通信。互联网的兴起,使得这两个领域开始融合,现在我们必须考虑,如何开发在互联网环境中使用的软件。
  • 什么是RESTful
    • 是 Roy Thomas Fielding在他2000年的博士论文中提出的,即 Representational State Transfer的缩写,中文理解为“表现层状态转化”。如果一个架构符合REST原则,就称它为 RESTfuI架构。REST是设计风格而不是标准。是指客户端和服务器的交互形式。我们需要关注的重点是如何设计REST风格的网络接口。
阅读全文 »

概述

  • 对于中等流量的网站来说,尽可能的减少开销是非常必要的。缓存数据就是为了保存那些需要很多计算资源的结果,这样就不必在下次请求消耗计算资源
  • Django自带了一个健壮的缓存系统来保存动态页面,避免对于每次请求都重新计算
  • Django提供了不同级别的缓存维度,可以缓存特定视图的输出,还可以仅仅缓存那些很难生产出来的部分,或者可以缓存整个网站
阅读全文 »

概述

  • Django内置了邮件发送功能,被定义在django.core.mail模块中。
  • 发送邮件需要使用SMTP服务器,常用的免费服务器有163、126、QQ等。
阅读全文 »

问题

  • 用户发起request,并等待response返回。在views中,可能需要执行一段耗时的程序,那么用户就会等好长时间,造成不良好的用户体验
  • 网站每小时需要同步一次天气信息,但是http请求是需要触发的,难道要一小时请求一次吗?

解决

  • 使用celery
    • 将耗时操作放到celery中执行
    • 使用celery定时执行
阅读全文 »
0%