阿小信大人的头像
Life is short (You need Python) Bruce Eckel

刷新验证码2014-09-02 06:40

验证码

生成的验证码图片Django可以直接save到HttpResponse对象中,不必经过StringIO保存。获取验证码只需在img标签中给出对应view的url就行。

看不清验证码点击换图片时用js直接改变img标签的的src属性的值浏览器自己就会重新去获取。

在换图片时,由于浏览器有缓存的原因,可能图片没有变化,在src属性的链接中多加一个产生随机数的参数,浏览器便会自动刷新

:::html

:::javascript

function change_code(){
var obj = jQ

......
#WEB/前端#   #django 评论[0]阅读全文[1015]

Django中使用Celery+RabbitMQ实现异步处理2014-09-02 06:38

Celery是一个分布式的任务队列,需要用其他后端作为Broker来存储消息,可选的很多,Redis,Django ORM什么的都可以,默认是用RabbitMQ来作Broker的。RabbitMQ是一个消息队列系统。

其实rq更加简单易用。https://github.com/nvie/rq

#####安装

需要[安装RabbitMQ](http://ashin.sinaapp.com/article/134/)、Celery和Django-celery

Celery和Django-celery的安装直接pip就好

#####修改settings.py

在I

......
#Python#   #django #queue 评论[1]阅读全文[9869]

tornado server部署django测试应用脚本2014-09-02 06:35

app.py

:::python

# -*- coding: utf-8 -*-

import os
import sys
import tornado.ioloop
import tornado.web
import tornado.wsgi
import tornado.httpserver
from django.core.handlers.wsgi import WSGIHandler

# 设置 Django 设置模块
_HERE = os.path.dirna

......
#Python#   #django #tornado 评论[0]阅读全文[1231]

Django集成haystack使用whoosh进行全文检索2014-09-02 06:32

文档:http://django-haystack.readthedocs.org/en/latest/tutorial.html

用来测试的Blog Model:

:::python
from django.db import models

from django.contrib import admin

class Blog(models.Model):
Title=models.CharField(u'Title',max_length=200,blank=True)
Content=m

......
#Python#   #django 评论[2]阅读全文[6444]

Django使用session实现在线人数统计2014-09-02 06:24

一直想在博客实现这个功能,一直没做。博客复活不找点事做对不起我每天逃课都被点名。面试的时候面试官也问过极客大挑战平台的同时在线人数的情况,我都没有实现,今天把它搞定了。

思路是这样的,因为貌似Django里没有类似JSP里面application对象这种全局变量,只好利用session。所有session都自动保存在django_session这张表里,三个字段:"session_key"(sessionid)、"session_data"(当前session中的属性)、"expire_date"(过期时间)。get_decoded()方法可以返回解码后的session_data,字典形

......
#Python#   #django 评论[0]阅读全文[3472]

Django中使用TinyMCE和代码高亮2014-09-02 06:22

####Admin中添加TinyMCE

1 下载tinymce_3.5.2.zip,解压后把tinymce文件夹复制到项目的静态文件js的目录。

2 在tinymce文件夹下新建tiny_mce_config.js,内容为

:::javascript
tinyMCE.init({
mode : "textareas",
theme : "advanced",

plugins : "autolink,lists,spellchecker,pagebreak,style,layer,table,sa

......
#Python#   #django 评论[0]阅读全文[3569]

极客大挑战平台开发笔记2014-09-02 05:23

扩展User,最好不要用继承的方式,因为request只能传递他自带的User类用户,django很多自带(如Admin)或者其它第三方库都依赖User,如果你继承它的话,你自己的model里将看不到User model的踪迹,这些库都无法使用

解决办法:

官方文档:

settings添加 `AUTH_PROFILE_MODULE = 'appname.profilename'`

扩展类仍然继承models.Model

添加`user = OneToOneField(User)`

遇到点问题没能解决-。-使用外键关联的User


syncdb时mo

......
#Python#   #django 评论[0]阅读全文[1526]

Django评论自动邮件通知2014-09-02 05:19

1 在model里面注册CtModerator

:::python
from django.contrib.comments.moderation import CommentModerator, moderator

class CtModerator(CommentModerator):
email_notification = True
enable_field = 'enable_comments'
moderator.register(BlogPost, CtModerator)

2 在需要邮件通

......
#Python#   #django 评论[0]阅读全文[1028]