标签归档:django

RSS feed of django

最后更新于 .

这篇文章的东西可能比较杂,因为每个特性都不那么大,所以就揉在一起,倒是显得庞大了许多。

一.svn命令行在windows下面的安装使用
一直以来都使用svn管理源码,但是在windows下一直使用TortoiseSVN的界面进行管理,但是对于我这种键盘控(vim后遗症)来说,简直是无法忍受的!
搜啊搜啊搜啊,终于发现了-----CollabNetSubversion
下载页面:http://www.collab.net/downloads/subversion/
如果象我一样只需要命令行的话,下载CollabNet Subversion Command-Line Client v1.6.12 (for Windows)即可,网站需要先注册一下。
基本上安装完了,svn up、svn add就可以用了,但是svn ci的时候,你会发现如下提示:

svn: Commit failed (details follow):
svn: Could not use external editor to fetch log ...

最后更新于 .

最近对django真是大爱呀,哈哈。公司有个需求是为一些素材动态生成属性字段,所以需要django来动态生成表单。

一开始的写法如下:

class AddObjForm(forms.Form):
    id = forms.CharField()
    def __init__(self, *args, **kwargs):
        mdfields = copy.deepcopy(kwargs['mdfields'])
        del kwargs['mdfields']
        super(AddObjForm, self).__init__(*args, **kwargs)
        if mdfields is not None:
            for f in mdfields:
                exestr = ""
                if f.showtype == 0:
                    exestr = 'self.'+f.name+"=forms.CharField()"
                else:
                    exestr = 'self.'+f ...

最后更新于 .

最近在使用django的过程中,发现之前对中文编码的理解并不怎么正确,在此记录一下。

1.在所有需要显式使用中文的地方加上#-*- coding: UTF-8 -*-标识,(包括注释中的中文和代码中字符串的中文)
2.django在db中存储的数据是经过encode的,但是通过模型取出的数据,是经过decode的。
3.python中在进行字符串连接的时候,必须保证所有的子字符串编码或者未编码一致

OK,先从最简单的赋值开始。如下代码:

#!/usr/bin/python
#-*- coding: UTF-8 -*-
import logging
logging.basicConfig(level=logging.DEBUG,
        format='%(asctime)s %(levelname)s %(message)s',
        filename='log.txt',
        filemode='a+')
x = '我爱你'
logging.info(x)
print x

输出是:

我爱你

log.txt中的结果是:

2010-06-25 ...

最后更新于 .

最近在使用django开发的时候,遇到了很多问题,特此记录在此,希望对以后的同学有所帮助。 一.django的ManyToManyField,当关联自身时,实现单向关联。 比如代码如下:

class MManConfType(models.Model): 
    linkconftype = models.ManyToManyField(‘self’,null=True,blank=True)

在这种情况下,当类型1关联了类型2的时候,那么类型2也一定关联了类型1,所以linkconftype就会始终是大于两条记录 解决的方法就是,增加symmetrical=False的定义,即:

linkconftype = models.ManyToManyField(‘self’,symmetrical=False,null=True,blank=True)

官网上的解释如下:

ManyToManyField.symmetrical Only used in the definition of ManyToManyFields on self. Consider the following model ...

最后更新于 .

今天在把django开发的系统从开发环境搬到外网的时候,发现凡是中文写入Mysql的时候,都会报错:

Data truncation: Data truncated for column xxx

网上搜了一下,排除了字段本身长度不够,剩下只能是因为mysql的默认编码不是utf-8导致,于是请教了数据组的同事,有两个命令可以修改Mysql 库或者表的编码:

修改库的编码:

alter database dbname CHARACTER SET = utf8;

修改表的编码:

alter table tablename CONVERT TO CHARACTER SET utf8;

之后一切OK。

在次仅作记录。

最后更新于 .

最近在用django做网站,惯例,我肯定还是用vim做编辑器……
不过让我有点小惊喜的是,在django的官网上,居然有一片用vim写django的文章。
原文链接如下:

Using Vim with Djangohttp://code.djangoproject.com/wiki/UsingVimWithDjango

文章中包括了自动补全,模板着色,snipmate等众多内容,这里我主要演示一下snipmate的效果。

http://github.com/robhudson/snipmate_for_django下载两个snippets文件,放到你的snippets目录,然后在vimrc中加入如下两行:

au FileType python set ft=python.django
au FileType html set ft=htmldjango.html

打开一个.py文件,输入r2r后,截图如下:

1
还有其他一些vim支持,我就不列举啦,大家有兴趣可以自己看一下。