从零开始搭建Django Solr的环境
The Django Book
django,性能测试,以及对fastcgi下进程模型和线程模型的分析
{code}
from django.http import HttpResponse
import time
def hello(request):
print "aaaaaaaaaaaaaaaaaaaaaaaa"
time.sleep(30)
return HttpResponse("hello")
def hello2(request):
print "bbbbbbbbbbbbbbbbbbbbbbbb"
return HttpResponse("hello")
{code}
{code}
urlpatterns += patterns("hello.views",
(r"^hello/$", "hello"),
(r"^hello2/$", "hello2"),
)
{code}
开始
创建一个django工程:
django-admin.py startproject mysite
共有4个目录:
__init__.py
manage.py
settings.py
urls.py
__init__.py :让 Python 把该目录当成一个开发包 (即一组模块)所需的文件。 这是一个空文件,一般你不需要修改它。
settings.py :该 Django 项目的设置或配置。 查看并理解这个文件中可用的设置类型及其默认值。
manage.py :一种命令行工具,允许你以多种方式与该 Django 项目进行交互。 键入python manage.py help,看一下它能做什么。 你应当不需要编辑这个文件;在这个目录下生成它纯是为了方便。
urls.py:Django项目的URL设置。 可视其为你的django网站的目录。 目前,它是空的。
创建一个模块:
python manage.py startapp video
验证:
python manage.py validate
启动:
python manage.py runserver
模板
from django import template
t = template.Template('My name is {{ name }}.')
c = template.Context({'name': 'Adrian'})
print t.render(c)
c = template.Context({'name': 'Fred'})
print t.render(c)
django form 验证
前面讲了django form 定义这一块,对python的django的form有个大概的认识,这一节我主要讲下django form的验证处理
处理分为两部分:
1form自身处理
2views里的处理
form自身处理:
假如我们定义一个用户的表单
class Member(model.ModelFrom):
def clean_username(self): 这个是对form里面的<input type="text" name="username">进行验证
"""验证帐号"""
....
如果我们有个需求需要验证比如密码和重复密码是否相同的话。这样验证单个字段的方法就没有用了
用下面这个就可以解决了
def clean(self):
这里就可以验证超过2个字段的数据
password = self.cleaned_data.get('password', '').strip()
password1 = self.cleaned_data.get('password1','').strip()
if password and password1 and password != password1:
msg = u'两次密码输入不一致'
self._errors["password1"] = ErrorList([msg])
del self.cleaned_data["password1"]
return self.cleaned_data
哈哈,django的form神奇把
2view的处理:
if 'POST' == request.method:
article = Domain.objects.filter(id=aid)[0]
form = DomainForm(request.POST,instance=article)#这个是把request请求的数据和forml绑定起来
if form.is_valid():#form验证处理
form.save()#如果验证通过的话。把form的数据添加到数据库里
如果我们在添加数据到数据库前需要处理一些数据,再入库的话,就可以用到下面一个方法了
m = form.save(commit=False)
m.title = 'sss'
m.save()
return HttpResponseRedirect('')
else:
tmp['form'] = form#这里是数据没有通过验证的话
else:
article = Domain.objects.filter(id=aid)[0]
tmp['form'] = DomainForm(instance=article) 这个是把django的form和Model结合起来