Django项目14

来源:互联网 发布:ie11 跨域js不能执行 编辑:程序博客网 时间:2024/05/24 00:14

1.准备工作,建立项目和应用,开启mysql,配置admin,配置settings,建立template


2.urls

from django.conf.urls.defaults import patterns, include, url from django.contrib import adminadmin.autodiscover()urlpatterns = patterns('',    url(r'^admin/', include(admin.site.urls)),    url(r'^login/$','blog.views.login'),)

3.views和forms

#coding:utf8from django.shortcuts import render_to_responsefrom django import formsfrom django.http import HttpResponseclass 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

<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

原创粉丝点击