Django项目16
1.准备工作
2.urls
[python]
#coding:utf8
from django.conf.urls.defaults import patterns, include, url
from django.contrib import admin
admin.autodiscover()
urlpatterns = patterns('',
url(r'^show/$','blog.views.show'),
url(r'^login/$','blog.views.login'),
url(r'^index/$','blog.views.index'),
url(r'^show_name/$','blog.views.show_name'),
url(r'^admin/', include(admin.site.urls)),
)
3.views
[python]
#coding:utf8
from django.http import HttpResponse,HttpResponseRedirect
from django.shortcuts import render_to_response
from django import forms
def show(req):
response = HttpResponse()
response.write('<h3>hello</h3>')
response.set_cookie('name','Tom',max_age=3600)
name = req.COOKIES.get('name','nobody')
response.write('welcome %s' %name)
return response
def show_name(req):
name = req.COOKIES.get['name','nobody'] #如果用req.COOKIES,然后如果得不到值,会报错。
return HttpResponse('welcome %s' %name)
class MyForm(forms.Form):
uname = forms.CharField(max_length = 20)
def login(req):
if req.method == 'POST':
form = MyForm(req.POST)
if form.is_valid():
uname = form.cleaned_data['uname']
response = HttpResponseRedirect('/index/')
response.set_cookie('uname',uname,max_age=3600)
return response
else:
form = MyForm()
return render_to_response('login.html',{'form':form})
def index(req):
uname = req.COOKIES.get('uname')
if uname == None:
return HttpResponseRedirect('/login/')
return HttpResponse('welcome %s' %uname)
login.html
[html]
<body>
<form action="" method="post"> <!-- action里不要乱加东西,否则会铸成大错 -->
{{form.as_p}}
<input type="submit" value="登录"></input>
</form>
</body>
</html>
上一篇:http://www.zzzyk.com/kf/201301/183365.html
补充:Web开发 , Python ,