django

  • 玩django时运行python manage.py runserver时遇到问题

    解决办法: yum install sqlite-dev cd python2 #python重新编译 python setup.py make python setup.py make install #然后进入python import sqlite3

    sqlite3, python, djangoApril 26

  • Django1.6在sae上的部署
    Django1.6在sae上的部署

    本人最近打算从python入手,进入开发领域,但是光学不练假把式,于是搞起了django,这是一个python的web框架,用起来倒也顺手,做好的网站别人看不到也胸闷,于是就玩NAT穿越,可恶的长宽让我失去了最后的稻草,于是乎找到了SAE,SAE对中级开发者以上才算是永久免费,但对于初学者的我来说,它还是可以小小的满足我一下,初步认证基本可以使博客免费一年吧,如果真有什么需要,也可以按需购买,个人小站一年也就20元钱就可以搞的定,更何况以后水平高了,还能享受免费,最最重要的是在SAE上部署dja

    python, django, sina, sae, MySQLApril 18

  • windows7下配置python django开发环境
    windows7下配置python django开发环境

    配置环境: windows7 x64 , python 2.7.9 下载:django 1.7.7 下载地址: http://www.codeweblog.com/news/60675/django-security-released 之后解压到自己保存软件的目录(比如: D:\soft) 安装 django 1.7.7 : (在cmd下) cd d:\soft\Django-1.7.7 python setup.py install 创建一个项目 django-admin startproje

    python, django, django开发环境April 7

  • 用PyCharm建Django工程
    用PyCharm建Django工程

    博主很菜,学了Python这么久,到现在还是在用vim码程序. 在极客上看到讲师用的是PyCharm,于是下载下来尝尝鲜. 1. 下载安装 这是PyCharm的下载页面:http://www.jetbrains.com/pycharm/download/ 下载了一个pycharm-community-4.0.4.tar.gz的包,解压之后.进入pycharm-community-4.0.4目录. $ tar zxf pycharm-community-4.0.4.tar.gz $ cd pych

    python, django, PyCharmMarch 8

  • Django学习笔记之--Forms

    前面学习的都只是如何显示数据,但一直没有关于如何响应用户提交的数据. 表单,是在web中,用户与服务器交互的重要途径. import django.forms form django import forms 之间的区别是什么? form在Django中扮演的角色有: *显示form *验证用户提交的数据 form的定义 ~~~~~~~~~~ form的定义与model的定义非常相似: ____________________________________________ from djang

    python, django, WebMarch 6

  • Django学习笔记之--Templates

    模板 ~~~~ 顾名思意,就是一个通用的文档格式,等待填充动态的数据,形成完整的文档. 在Django里,模板通常用于制定HTML文档,但是它还可以用于任何文本格式. 如下为模板的示例: templates/home.html ____________________________ <html> <body> <h1>Hello!</h1> <p>My name is {{name}}.</p> <p>Age: {{ag

    python, django, WebMarch 6

  • Django学习笔记之--Urls

    UrlConf模块感觉就像是"路由",它分析请求的路径,并请求派送给匹配的view去处理 打开mysite.urls.py文件,如下: _____________________________________________________ from django.conf.urls import patterns, include, url from views import home import blog.urls urlpatterns = patterns('', url(

    python, django, WebMarch 6

  • Django学习笔记之--Views

    在views中使用HttpResponse ~~~~~~~~~~~~~~~~~~~~~~~~~ 每个view函数最终返回的都是一个HttpResponseBase.HttpResponse是HttpResponse- Base中最常用的一种.用法如下: _____________________________________________________________________ from django.http import HttpResponse ## 最简单的view,直接返回

    python, django, WebMarch 6

  • Django学习笔记之--Models

    Django里的模型是对数据库对表的一次封装,是应用业务与数据之间的桥梁. 1. 模型的Fields 在上一节,我们在mysite/blog/models.py中创建了BlogPost这个Model. from django.db import models class BlogPost(models.Model): title = models.CharField(max_length=150) body = models.TextField() timestamp = models.Date

    python, django, WebMarch 6

  • Django学习笔记

    1. 学习历程 从学了Python以来,我都一直想着用它来做点什么.从开始用python来写简单的工具脚本,然后再是网络信息抓取程序. 听说可以用Python来做网站,所以我了解了一下web.py与Django.第一次接触Django,由于没有网络方面的基础,所以没弄两下就放弃了. 后来,我研究了一下Python自来的SimpleHTTPServer,然后读懂了CGIHTTPServer,才对Web的实质有了了解. 在这个基础上,我再次重拾Django.这次,终于学会了. 原来它是那么的美妙!

    python, django, WebMarch 3

  • Django学习笔记之--Start
    Django学习笔记之--Start

    1. 安装 下载源码文件: Django-1.6.10.tar.gz 解压后生成目录:Django-1.6.10 进入目录 $ sudo python setup.py install 就完成安装了. 2. 创建工程 执行: django-admin.py startproject <工程名> 完成后会在当前目录下生成<工程名>,比如mysite,的目录.在该目录下会有: . |-- manage.py `-- mysite |-- __init__.py |-- settings

    python, django, WebMarch 2

  • django的目录结构

    定义django的目录结构.根据django的特性,分成两部分:project结构和app结构. project结构 这里定义的是中的$PROJ_NAME目录内的内容: PROJ_NAME/ __init__.py 这几个文件是django创建project所必须的,不做过多说明 manage.py settings.py urls.py apps/ 即使是"小"工程,也建议分成多个app,每个app足够简单,只解决某一个方面的问题 (注1) myapp1/ myapp2/ extra

    django, 目录结构February 23

  • django csrf_token生成
    django csrf_token生成

    django模板中生成csrf_token的不同方式 系统环境 CENTOS 6.4 python 2.7.6 django 1.7.1 当post提交表单的的时候,是需要 csrf_token的, 它需要把request也添加到模板中,第二到第四个例子,会生成 csrf_token 当你用post提交表单,但是没有csrf_token的时候,会提示下面的错误: Forbidden (403) CSRF verification failed. Request aborted. 两种可选解决方式

    django, 403, Forbidden, csrf_tokenJanuary 20

  • django中通过model名字获取model

    django1.6, 通过字符串和get_app.get_model获得对应的object 只需要两行代码: from django.db.models import get_model get_model('auth', 'User') 下面是详细的过程展示: >>> from django.db.models import get_app, get_models, get_model # auth是django自带的app, get_app需要一个参数:app_name >&g

    django, get_model, django.appsJanuary 20

  • 采用Tornado作为Web Server 运行第三方Web框架

    部门内部的所有Web应用,restful服务等都是采用Python开发的,主要用到了bottle框架和django框架. 这两个框架都是采用的自身的Web Server运行的,在高负载的情况下响应比较慢.改为Tornado作为Web Server来承载应用. 1. Bottle应用 from bottle import run import argparse if __name__ == "__main__": parser = argparse.ArgumentParser() pa

    django, tornado, BottleJanuary 15

  • django models进行数据库增删查改

    引入models的定义 from app.models import myclass class myclass(): aa = models. CharField (max_length=None) bb = models. CharField (max_length=None) def __unicode__(self): return u'%s %s' %(aa,bb) 增 添加一行数据1 add = myclass(aa='wahaha',bb='hahawa' ) add.save()

    django, Model, models数据库, models数据库操作January 14

  • Python笔记 - PySnippet

    Python笔记 更多详细参见:https://github.com/kinegratii/PySnippet 使用a=b=c判断 # 在Python中可以使用a == b == c连等的判定条件 if not (c == len(raw_str) == len(set(raw_str) & set(allow_number_str))): print 'invalid input format,LOOK THE HINT!!!' continue for-else的使用 s = ('pat',

    python, django, TkinterJanuary 12

  • django-ckeditor 使用
    django-ckeditor 使用

    昨天在完成微信项目,想通过微信公众号发布通知.然而把通知粘贴到adminsite中后发现所有html标签都被转译了,一堆文字落在一起甚是难看.于是不得不好好使用富文本编辑器. 一.源 pip install django-ckeditor-updated https://github.com/django-ckeditor/django-ckeditor 二.配置方式 其实照着demo做就可以了,不过有几点需要注意的 (1)urls.py中不要忘记配置media路径 from django.co

    django, 富文本, ckeditorDecember 23

  • mysql数据库及django用户名启用中文的方法

    mysql数据库启用中文 在mysql的配置文件/etc/my.cnf的[mysqld]下加入 character_set_server=utf8 Django启用中文用户名 Django默认只能以字母.数字.下划线组成用户名,修改检验用户名的正则表达式可以绕过这一规则: /usr/lib/python2.7/site-packages/django/contrib/auth/models.py: class AbstractUser(AbstractBaseUser, PermissionsM

    djangoDecember 18

  • Django使用inspectdb连接现有的mysql数据库遇到的问题

    ./manage.py inspectdb遇到的问题: 无法找到test_db.id,原因是原始数据库里没有找到primary_key,inspectdb自动在model里创建一个名字为test_db.id的字段. 解决方法是在model.py里选择一个字段,使用primary_key,如: class test_db(models.Model) start_id = models.CharField(unique=True, max_length=32, primary_key=True) 参

    django, MySQLDecember 15

  • CentOS 7部署django运行环境

    1,安装postgresql数据库,安装过程参考我的 2,安装apache服务器 sudo yum install httpd 3,安装mod_wsgi,支持参考网上的. https://code.google.com/p/modwsgi/wiki/InstallationOnLinux mod_wsgi下载网址: http://modwsgi.readthedocs.org/en/master/ 看了下,该项目托管在github,我使用了当前最新的版本 按照里面的Readme,发现有多种方法安

    djangoNovember 13

  • 在ubuntu下使用gunicorn部署django程序

    只是记录一下,网上教程很多: 1.修改nginx配置文件 server { listen 80 default_server; listen [::]:80 default_server ipv6only=on; root /home/ranvane/gwdj; index index.html index.htm; # Make site accessible from http://localhost/ server_name localhost; access_log /home/ranv

    nginx, django, gunicornNovember 13

  • django中使用日志文件记录信息

    这两天一直在测试windows下nginx部署django程序,因为一些奇葩的问题,导致了部署不成功,而且不知道问题出在哪里,不得已,找了个django日志的配置文件修改.调试了一下,解决了问题.说起来慢慢的都是泪啊,现在分享给大家: 将下列代码添加到setting中,对日志文件路径不满意的,可以找到代码中的filename修改: #导入模块 import logging import django.utils.log import logging.handlers LOGGING = { 'v

    django, 日志, loggingNovember 13

  • windows下使用nginx部署django程序

    代码实在win下写的,索性就在win下使用nginx部署一下以作测试,不想问题出来了,一直提示400错误,好在经过一番周折解决了.现在就将这个纠结的过程分享一下: 环境: django1.7 upupw集成包 1.首先应该改的地方,这个大家应该都知道: DEBUG = TEMPLATE_DEBUG = False#将debug设置为False 2.改一下ALLOWED_HOSTS,我死死的就将这个给忘了,我的配置: if DEBUG:#根据DEBUG来确定 ALLOWED_HOSTS = ["&

    nginx, django, Windows, flupNovember 13

  • 使用Django1.7开发博客教程 - 目录汇总贴
    使用Django1.7开发博客教程 - 目录汇总贴

    笔者用过django一段时间了,是时候做点笔记了.不过官网文档稍微有点复杂,对新手而言很困难,而网上的一些教程很多都过时了,最近看到一个外文的教程非常不错,基于最新的django1.7写的,通俗易懂,非常适合新手入门.那么我自己参考这个整理了一下这个教程,同时还将源码上传到GitHub上去了.鉴于国内访问经常挂点,同时又将其同步到了git.codeweblog.com上面,希望对于大家有帮助.教程中如果有不足之处希望大家不吝赐教 ^_^ 参考教程: http://tutorial.djangog

    python, djangoNovember 11

  • 用django-pipeline为静态文件添加hash

    用django-pipeline为静态文件添加hash 为什么需要hash静态文件? 请看大公司里怎样开发和部署前端代码? 张云龙的答案. 这样,当静态文件有修改时,会很方便的拿到最新的修改版本,而未修改的静态文件则依然使用缓存.这样避免了修改后用户静态文件不更新的尴尬,并且可以充分利用缓存. demo django_pipeline_demo 安装 sudo mkdir /opt/projects git clone https://github.com/duoduo369/django_pi

    django, 缓存, 静态文件October 31

  • apache mod_wsgi 部署django项目后连接不上mysql

    问题描述 做好的django项目,使用python manage.py runserver 可以正常work. 然而当将项目使用mod_wsgi部署到apache上之后却不能连接mysql.一直报错:"Internal Server Error",查看日志信息,除了"Can't connect mysql"还是连不上mysql. 追踪问题 django测试 分别在debug模式以及debug off模式下运行项目,无任何异常,足以证明项目自身配置没任何错误. Pyt

    apache, django, MySQL, mod_wsgi, AutoTesterOctober 26

  • python mysql 驱动安装

    安装组件: python 3.4 + django 1.7 + mysql connector driver 系统平台: windows 7 64 bit mysql connector python 和 MySQLdb 是两个不同的python连接驱动(名字那么像,特么以为是一个 -_-!) mysql connector python 驱动安装(window) python 安装时,一定选择支持当然所有用户,否则驱动安装会找不到当前python 直接上官网下即可,选择与python安装对应版

    python, django, MySQL, Driver, connectorOctober 24

  • apache部署django项目时出现错误

    apache部署Django项目时出现错误 Permission denied: mod_wsgi (pid=2081): Unable to connect to WSGI daemon process 'autotester' on '/etc/httpd/logs/wsgi.2076.0.1.sock' after multiple attempts 可在apache配置文件或者wsgi.conf中添加 WSGISocketPrefix /var/run/

    apache, django, mod_wsgi, permission_deniedOctober 23

  • Python中的__new__及其用法

    __new__和__init__的区别 __new__是Python面向对象语言中一个很少用的函数,更多使用的是__init__这个函数.例如: class Book(object): def __init__(self, title): super(Book, self).__init__(self) self.title = title # Define a book b = Book('The Django Book') print b.title 上面算是OOP语言的入门代码了,粗略一看

    python, djangoOctober 18

  • 动态载入javascript问题

    使用require.js或者els.js加载module的时候在django项目上前端报:500 Dude, this is whack! django 后台报:ImproperlyConfigured: The storage backend of the staticfiles finder <class 'django.contrib.staticfiles.finders.DefaultStorageFinder'> doesn't have a valid location. 只需去

    django, 加载, 动态October 12

  • 用mako增强django模板,用法像jsp

    用mako增强django模板 django默认的模板功能还可以,但是不能直接用python的语法,mako解决了这个痛点, 使得django的模板变得像jsp一样,可以直接使用python的语法做一些事情. mako django-mako demo mako基本用法 mako的模板需要这样子搞 直接的类似python string format的样子 from mako.template import Template mytemplate = Template("hello, ${name

    djangoSeptember 25

  • 解决Django 1.5非域名访问产生的500错误

    Django 1.5开始提供了一个新的,而且是必需开启的特性:通过设置ALLOWED_HOSTS,来限制访问的域名.只有通过绑定好的域名才能访问站点,而通过IP地址或非绑定到此站点的方式,则会被拒绝(默认会产生一个500错误). 这是一个非常棒的特性,但他也有一个副作用,那就是会产生一大堆的500错误,而如果不怀好意的人,通过扫描IP等方式骚扰你的服务器的话,会让你不敢其扰,而且在一定程度上也拖慢了系统的反应能力.毕竟产生500错误也是要消耗一些计算资源的,而且是昂贵的django资源! 解决的

    nginx, djangoSeptember 22

  • centos 下 django + uwsgi + nginx 快速搭建
    centos 下 django + uwsgi + nginx 快速搭建

    1.首先安装pip,pip安装其他的软件很方便, 已经有了pip就跳过这步. wget https://pypi.python.org/packages/source/p/pip/pip-1.3.1.tar.gz --no-check-certificate tar zxvf pip-1.3.1.tar.gz cd pip-1.3.1 ln /usr/local/python2.6/bin/pip /usr/bin/pip 2. 安装uwsgi pip install uwsgi 测试uwsgi

    nginx, django, centos, uwsgiSeptember 17

  • 在Django项目中使用富文本编辑器

    1 开发要点 现在网上有很多的富文本编辑器,包括Markdown.tinymce.UEditor.KindEditor.ckeditor等等.在项目中使用这些编辑器主要有以下几个问题: 编辑页面 在HTML页面渲染编辑器: 定制编辑器的功能,比如有哪些文本样式.图片上传.代码插入: 定制编辑器的样式,指的是编辑器整体的样式,比如高度.宽度.显示位置等等: 预览内容: 获取内容: 显示页面 显示内容: 2 Django APP 下表列出一些常用的APP,它们都可以在GitHub上找的到,链接见下文

    django, tinymce, markdown, ckeditorAugust 31

  • 用django-social-auth 做中国社交网站三方登录(qq,微博,豆瓣,百度,人人,微信)

    TODO 我写这个demo之后, python-social-auth, django-social-auth的作者(一个人), 对这两个库进行了比较大的更新,pip里面甚至下掉了django-social-auth, 0.8.1这个版本, 因此让demo能够跑起来,你可能需要用我的两个fork版本. python-social_auth一个我的fork版本 django-social-auth一个我的fork版本 我已经在requirements.txt中去掉了这两个关键库,请手动clone安

    django, OAuth, 三方登录August 13

  • 解决 Python UnicodeDecodeError

    在使用django和flask时,发现加载css.js等静态文件时会因为UnicodeDecodeError而失败,在网上搜到了一篇文章,完美解决: 解决方案如下: 编辑Python27\Lib\mimetypes.py文件,全选,替换为以下patch后的正确脚本,或者直接依据此patch修改: """Guess the MIME type of a file. This module defines two useful functions: guess_type(url,

    django, flask, css, UnicodeDecodeErrorJuly 29

  • 七日Python之路--第五天(之Django官方文档)

    (一)关于数据库 之前一直使用Django自带的SQLite3数据库,感觉挺爽的,啥都不用管.但是,学习岂能贪图便利.遂开始使用MyQL.但是似乎不太顺利.首先在新建的项目mysite下,修改 settings.py 根配置文件. [email protected]:~/Python/django_project/mysite$ vim mysite/settings.py DATABASES = { 'default': { 'ENGINE': 'django.db.backends.mysql',

    python, django, 第五天July 25

  • 七日Python之路--第四天(之Django官方文档)

    (一)初探Django 源地址:http://django-chinese-docs-16.readthedocs.org/en/latest/intro/overview.html (1)设计模型model from django.db import models # Create your models here. class Repoter(models.Model): full_name = models.CharField(max_length=200) def __unicode__

    python, django, 第四天July 24

  • 七日Python之路--第三天(之初试Django 2-2)

    接上文.前面(1)(2)部分已经实现浏览器访问工程项目,并且能后台管理新创建的app. (二)第一个Django的app (3)教你开始写Django1.6的第1个app 前面已经完成了model(M)的设置.剩下的只有view(V)和urls(C)了.Django的视图部分,由views.py 和 templates完成. 在polls中,我们将创建4个视图: "index" 列表页 – 显示最新投票. "detail" 投票页 – 显示一个投票的问题, 以及用户

    python, django, 第三天July 23

  • 七日Python之路--第三天(之初试Django 2-1)

    #意外情况出现,以为电脑硬盘真的坏掉了.原来是忘记插电源 @[email protected] - 前些时间玩游戏,电脑无故突然断电关机,再开机一闪便又突然断电关机.最终找到原因,电脑过热,保护性关机.然后将光驱拆下,发现散热效果好了一些,最重要的原因还是好几天没玩游戏了...........闲话略多,转入正题 (一)关于Django Django是一个基于MVC构造的框架.但是在Django中,控制器接受用户输入的部分由框架自行处理,所以 Django 里更关注的是模型(Model).模板(Template)和视图(Vie

    python, django, 第三天July 23

  • django model 类型

    Django 通过 models 实现数据库的创建.修改.删除等操作,本文为模型中一般常用的类型的清单,便于查询和使用: AutoField:一个自动递增的整型字段,添加记录时它会自动增长.你通常不需要直接使用这个字段:如果你不指定主键的话,系统会自动添加一个主键字段到你的model.(参阅自动主键字段) BooleanField:布尔字段,管理工具里会自动将其描述为checkbox. CharField:字符串字段,单行输入,用于较短的字符串,如要保存大量文本, 使用 TextField,Ch

    django, 类型, ModelJuly 22

  • djcelery入门:实现运行定时任务
    djcelery入门:实现运行定时任务

    注:本文根据官方文档结合具体例子整理,供celery入门学习,更多内容请移步参考资料一节.最近更新于2014-10-19 1 什么是celery celery是一个异步任务队列/基于分布式消息传递的作业队列.Celery通过消息(message)进行通信,使用代理(broker)在客户端和工作执行者之间进行交互.当开始一个任务时,客户端发送消息到队列并由代理将其发往响应的工作执行者处. 2 Windows环境配置 在这里使用RabbitMQ作为消息代理(broker),Django数据库作为结果

    python, django, celery, djceleryJuly 18

  • 动态查看对Memcache的使用

    Web项目提升访问性能,使用Memcache做缓存是一种比较通用的方案,这篇文章记录了:动态查看应用如何使用Memcache. 这里使用的Django项目做例子.关于Django如何连接Memcache请查阅官方文档.下面开始: "显式"运行Memcache: memcached -vv -u root -m 256m 如果你使用的是root用户,则一定要加上 -u root选项. 命令执行后会得到如下输出: slab class 1: chunk size 96 perslab 10

    django, memcacheJuly 16

  • first blog

    年前使用Django写了一个Blog站,饶有兴致的买了个VPS,经过一番折腾,给部上去了.但维护这么一个小小的站点真心累,因为懒也没放一个富文本编辑器上去,所以每次写博文都要用MD写好然后转成html再在后台插入数据.另外VPS供应商动不动给你来个宕机,还把服务器数据给清了,真心给跪了.再次部署一次,伤心伤肺.之后就再也没更新博文. 还是乖乖的在osc新建个号写写博文吧.博文无非也就记录一些学习笔记或者谢谢心得之类的.且写且珍惜.先这么写着吧,指不定哪天又给迁回去了.

    django, vpsJuly 12

  • windows奇葩的django+ mod_wsgi 下 cx_Oracle奇怪的问题

    项目使用的是oracle数据库,用的是cx_oralce模块 启动时看到如下异常抛出 [Thu Jul 10 16:40:54.915311 2014] [:error] [pid 28224:tid 752] [client ::1:61859] mod_wsgi (pid=28224): Exception occurred processing WSGI script 'D:/spiders/dj_spiders/dj_spiders/wsgi.py'. [Thu Jul 10 16:40

    django, mod_wsgiJuly 10

  • 讨厌的Windows 下apache+Django+python+mod_wsgi配置

    昨天折腾了一天在Windows下配置apache+mod_wsgi 没搞定,今儿终于弄通了!话说这玩意在linux上挺简单的吧 windows...说多了都是泪 环境准备: 系统:Win7 64位 环境变量略,注意要配置 PYTHONHOME 软件:安装过程略 Apache 2.4.9 64位 python 2.7.6 64位 Django 1.6.4 mod_wsgi mod_wsgi-3.5.ap24.win-amd64-py2.7.zip(注意对应版本) 注:Apache 必须选择2.4版

    apache, django, Windows, mod_wsgiJuly 10

  • Django admin应用开发(3) 批量操作

    第三节 admin Actions 3.1 实现批量操作 在Django admin实现批量操作是比较简单的. 第一步,定义一个回调函数,将在点击对象列表页面上的"执行"按钮时触发(从用户的角度来看的确如此,但在Django内部当然还需要一些检查操作,见下文详述).它的形式如def action_handler(model_admin, request, queryset)三个参数分别表示当前的modelAdmin实例.当前请求对象和用户选定的对象集. 回调函数和View函数类似,你可

    python, djangoJune 19

  • 部署 django

    # 环境 ubuntu server 14.04 # nginx + uwsgi + django + virtualenv # 假定项目目录: /home/jack/django_web/mysite_bootstrap 1 配置 virtualenv workon py_env1 2 安装 django uwsgi pip install django pip install uwsgi 3 测试 uwsgi cd /home/jack/django_web/mysite_bootstrap

    python, djangoJune 13

  • [翻译]在开公司之前, 我希望知道的关于Django的11件事
    [翻译]在开公司之前, 我希望知道的关于Django的11件事

    两年前, 我开了家公司SocialQ.在开这家公司之前, 我几乎对开发一无所知. 我从头学习了HTTP, javascript, AJAX, 以及 Django 的MVC. 这是一个疯狂的旅程, 我们的知识栈 从成熟的技术到一些有趣的技术, 比如 D3.js, Backbone.js, Celery,Mongo, Redis, 以及其他的一些, 但这些不是一朝一夕的事情, 看看每天数千行的Django 代码, 我想把我本来可以做却没有做的事情点出来是必要的(I thought it would

    python, django, celery, appMay 29