好久不写博客了,最近一直在忙一个私活,一个问卷类的项目,用 django 写的,说实话,之前除了在公司厘米用,都没有用过 python,还好我有一些好同事,有问题可以直接问,方便了很多。
为了避免长时间不写文章的尴尬,我急匆匆的新键了一个 md,开始写。
一般来说,本地运行 django 项目是很简单,
sh
python manage.py runserver
UWSGI
总感觉这个单词全部大写的话,很别扭,使用 uwsgi 启动项目的话也不是太难,
```ini
docon.ini
uwsgi abc.ini
uwsgi --reload /tmp/***.pid
uwsgi --stop /tmp/***.
继续阅读 »
Borg的第一个django网站
最近在 Github 失踪了挺久,去学 Django 框架去了,还实践写了个小网站。大体的思路是一个密码管理网站,通过加密每个记录的信息生成密码。本来是想着服务器端存一部分信息,用户记住一个通用的密钥,每次获取密码的时候都需要输入一遍密钥。这样就算数据库所有的信息被窃取也没法得到全部的信息,因此还是安全的。不过这样子也就没办法验证用户输入的密钥是否每次都一致,也就无法验证最后得到的密码是否正确,而且网站本身登录需要一个密码,统一密钥又是一个搞得复杂了,所以暂时就没有采用这种做法。最后是通过加密各种相关信息(具体就不说是什么了)得到密码。最大的好处在于可以为每个网站的不同账号都设置一个不同的密码,再
继续阅读 »
本篇翻译自: [Getting Started with Django Channels][1]
译者: Borg
本篇教程中,我们将使用 Django Channels 来创建实时应用,当用户登录或登出时将实时更新已登录用户列表。
继续阅读 »
其实。。。这篇教程不包括邮箱验证的,不过我有实现个 celery + django 的邮箱验证博客,问末附 repo 。
Web 应用中的长时操作如果没有异步实现会阻塞代码运行,用户需要等待较长时间才能收到响应。而像 Celery 这样的异步工具就能很好解决这类问题。本文将带你了解 Django 框架下的 Celery 使用。
继续阅读 »
跟着 codingforentrepreneurs 网站上的三个系列教程从头到尾敲完了这个博客系统,并且对前端页面进行了些修改,还补了些Bug,总算是可以用了, github代码仓库在 BigBorg/Blog。已经部署到服务器,地址为 bigborg.top,可以点开查看效果。总算不用为了发篇博文或者只是修改个拼写错误之类就来个git commit了。。。
继续阅读 »
技术流水账一篇,记录踩过的坑
Channels 异构
Django Channels 官方文档宣称 channels 的最佳配置是使用其自带的服务器组件 Daphne,但在开发中我发现 daphne 处理普通请求比在 WSGI 架构下慢了好几倍,更何况使用 daphne 派发静态文件是十分不切实际的。于是我将 http.request 和 websocket.* 两个 channel 解耦,前者使用 nginx 配合 uwsgi 处理,后者使用 nginx 反向代理至 daphne 处理。这样一来便可充分利用两种架构的优势。
旧架构:
新架构:
more
环境
Ubuntu Server 16.04(与开发环境相
继续阅读 »
最近在 mac 上用 terminal 启动 python 的时候经常会提示我,端口被占用了,像这样
bash
0 errors found
February 25, 2016 - 18:25:21
Django version 1.6.7, using settings 'green.settings'
Starting development server at http://0.0.0.0:8000/
Quit the server with CONTROL-C.
Error: That port is already in use.
ps aux | grep python
shell
(kkh)➜ green
继续阅读 »