当前位置:编程学习 > 网站相关 >>

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 ,
CopyRight © 2012 站长网 编程知识问答 www.zzzyk.com All Rights Reserved
部份技术文章来自网络,