python

我特么是如何利用Django, Django REST Framework, Angular 1.1.x和Webpack构建一个项目的

Roy

原文地址,向原作者表示感谢。由于本人并没学习过angular,所以翻译有误的地方恳请指正。


我已经受够了JS社区的那帮二货,我只是想使用Django作为后端结合Angular做一个简单的、可复用的项目,却没有一个简明的指导教我如何做到。如果你也为此挣扎,这里有一份指南教你如何构建一个由Django作为后端、Webpack进行组织的Angular程序。

问题

我想开发一个Angular1.1.x的项目并使用Django作为后端提供数据,我喜欢使用Django REST Framework(DRF)来构造RESTful API。我也想打包需要的JavaScript资源。目前,我打算使用单一的服务器上运行这个程序。

依赖

  • Python 2.x
  • a virtual Python environment
  • Django 1.9.x (pip install django)
  • npm 2.15.8+
  • Webpack 1.13.x (sudo npm i -g webpack)
  • ESLint 2.13.1+ (sudo npm i -g eslint)
  • NodeJS 4.4.7+

django解析用户上传的excel文件

Roy
有些时候我们会有这种需求:用户上传一个格式固定excel表格到网站上,然后程序负债解析内容并进行处理。 举一个简单的栗子,比如我们有这样一个HTML: <!DOCTYPE html> <html> <head> <meta charset="utf-8"> </head> <body> <p>上传EXCEL表格</p> <form class="" action="" method="post" enctype="multipart/form-data" > {% csrf_token %} <input type="file" name="excel"> <input type="submit" value="上传"> </form> </body> </html> forms.

使用python模拟POST请求提交图片

Roy

使用requests来模拟HTTP请求本来是一件非常轻松的事情,比如上传图片来说,简单的几行代码即可:

import requests
files = {'attachment_file': ('1.png', open('1.png', 'rb'), 'image/png', {})}
values = {'next':"http://www.xxxx.com/xxxx"}
r = requests.post('http://www.xxxx.com/upload', files=files, data=values) # 成功

r = requests.post('http://www.xxxx.com/upload', files=files, data=values) # 失败

r = requests.post('http://www.xxxx.com/upload', files=files, data=values) # 失败

r = requests.post('http://www.xxxx.com/upload', files=files, data=values) # 失败

r = requests.post('http://www.xxxx.com/upload', files=files, data=values) # 失败

...

不过我今天在调试一个django程序的时候却遇到了大坑————为了偷懒,我直接在ipython中执行了上述代码,第一次提交的时候一切正常,但第二次之后提交就怎么也通过不了django的form验证。

django-auth-ldap中文文档

Roy
最近在学习如何结合Django和LDAP服务进行用户认证,关于在Centos7上LDAP的服务器如何搭建可以参考这里。 阅读文档的时候发现网上没有关于django-auth-ldap的完整翻译,所以把我阅读文档时的理解记录下来,如有错误还请指正。 django-auth-ldap中文文档

Flask+HTML5实现服务器推送事件

Roy

服务器推送事件(server-sent events,SSE)是一种除websocket、ajax简单轮寻外另一种实现服务器数据主动推送数据到浏览器的方式。

这里,举一个的例子来说明如何使用基于pyhon的服务端来实现,为了简单我使用flask框架来实现。关键点有2个:

  1. HTTP响应头中包含content-type:text/event-stream
  2. 流响应

django自定义用户模型

Roy

Django最方便的一点可以说就是自带的用户系统了,不过某些情况下自带的用户系统不太符合项目需求,比如你想添加几个字段怎么办?当然可以使用自定Model然后外键关联User类来实现,不过一方面关联查询的效率比直接查询效率要低,另一方面想删除系统自带用户系统的某些字段怎么办呢?

所以,自定义用户模型可以说是一种很常见的需求。这里以Django1.9为例,记录一下自定义用户模型的方法。