python 随笔
>>>squared = [x**2 for x in range(4)]
>>>for i in squared:
... print i
0
1
4
9
>>>sqdEvens=[x**2 for x in range(8) if not x%2]
try:
filename=raw_input('Enter file name:')
fobj=open(filename,'r')
for eachLine in fobj:
print eachLine,
fobj.close()
except IOError, e:
print 'file open error:',e
form string import Template
s=Template('There are ${howmany} ${lang} Quotation Symbols')
print s.substitute(lang='Python', howmany=3) There are 3 Python Quotation Sysbols
string.capitalize() 把字符串的第一个字符大写
string.center(width)
string.count(str,beg=0,end=len(string))
string.decode(encoding='UTF-8',errors='strict')
string.encode(encoding='UTF-8',error='strict')
dict['name']='venus'
dict['port']=6969
dict['arch']='sunos5'
print 'host %(name)s is running on port %(port)d '%dict
host venus is running on port 6969
列表
append() 列表末尾+
pop() 列表末尾-
extend() 列表末尾+数据项集合
try:
except []:
finally:
推导列表
a=[b(c) for c in d]
import os.path TEMPLATE_DIRS = ( os.path.join(os.path.dirname(__file__), 'templates').replace('\\','/'), )
`` os.path.dirname(__file__)`` 将会获取自身所在的文件
一旦你觉得你的模型可能有问题,运行 python manage.py validate 。 它可以帮助你捕获一些常见的模型定义错误
python manage.py syncdb
syncdb 命令是同步你的模型到数据库的一个简单方法
Publisher.objects.filter(name='Apress')
Publisher.objects.filter(name__contains="press")
在 name 和 contains 之间有双下划线。和Python一样,Django也使用双下划线来表明会进行一些魔术般的操作。这里,contains部分会被Django翻译成LIKE语句:
上面的例子中`` filter()`` 函数返回一个记录集,这个记录集是一个列表。 相对列表来说,有些时候我们更需要获取单个的对象, `` get()`` 方法就是在此时使用的:
Publisher.objects.order_by("name")
Publisher.objects.order_by("-name")
class Book(models.Model):
title = models.CharField(max_length=100)
authors = models.ManyToManyField(Author)
publisher = models.ForeignKey(Publisher)
publication_date = models.DateField(**blank=True, null=True** )
num_pages = models.IntegerField(blank=True, null=True)设置可选字段
from django.db import connection def user_contacts(request): user = request.GET['username'] sql = "SELECT * FROM user_contacts WHERE username = %s" cursor = connection.cursor() cursor.execute(sql, [user]) # ... do something with the results
def my_custom_sql(self):
from django.db import connection
cursor = connection.cursor()
cursor.execute("SELECT foo FROM bar WHERE baz = %s", [self.baz])
row = cursor.fetchone()
return row