Django项目14
1.准备工作,建立项目和应用,开启mysql,配置admin,配置settings,建立template
2.urls
[python]
from django.conf.urls.defaults import patterns, include, url
from django.contrib import admin
admin.autodiscover()
urlpatterns = patterns('',
url(r'^admin/', include(admin.site.urls)),
url(r'^login/$','blog.views.login'),
)
3.views和forms
[python]
#coding:utf8
from django.shortcuts import render_to_response
from django import forms
from django.http import HttpResponse
class UserForm(forms.Form):
name = forms.CharField(initial='aaa',label='姓名',min_length = 4,max_length = 16)#initial可以提供初始值
mail = forms.EmailField()
sex = forms.ChoiceField(choices=(('m','male'),('f','female')))
marry= forms.BooleanField(required = False)
birth= forms.DateField(initial = '2012-12-24')
intr = forms.CharField(widget = forms.Textarea())
def login(req):
if req.method == 'POST': #如果是post,就绑定
userForm = UserForm(req.POST) #类的实例化//bind,把req封装在form里
if userForm.is_valid():
name = req.POST.get('name') #第一种得到方式,得到的是字符串,不推荐
mail = userForm.cleaned_data['mail'] #第二种得到方式,得到的是python格式
data=userForm.cleaned_data.items() #第三种得到方式
return HttpResponse(data)
else:
userForm = UserForm(initial={'mail':'a@b.com'})#括号里initial可以提供初始值
return render_to_response('login.html',{'userForm':userForm})
4.html
[html]
<body>
<form action="" method="post"> <!-- 这里需要跳转的时候,用新网址填写action -->
{{userForm.as_ul}} <!-- userForm的 as属性,as_p ,as_table -->
<input type="submit" value="登录"></input>
</form>
</body>
5.syncdb,runserver
补充:Web开发 , Python ,