设为首页 收藏本站
查看: 891|回复: 0

[经验分享] django 学习个人总结 之cookie保存于删除

[复制链接]
累计签到:1 天
连续签到:1 天
发表于 2015-1-13 08:43:27 | 显示全部楼层 |阅读模式
逻辑

注册

登录 ----  index --- logout


views.py

from django import forms
from django.http import HttpResponse,HttpResponseRedirect
from django.shortcuts import render_to_response
from models import User
class UserForm(forms.Form):
        username = forms.CharField()
        password = forms.CharField(widget=forms.PasswordInput)
def regist(req):                         #注册
        if req.method == 'POST':
                uf = UserForm(req.POST)
                if uf.is_valid():
                        username = uf.cleaned_data['username']
                        password = uf.cleaned_data['password']
                        User.objects.create(username = username ,password = password)
                        print username,password
                        return HttpResponseRedirect('/login/')   #跳转到那个路径
        else:
                uf = UserForm()
        return render_to_response('regist.html',{'uf':uf})
def login(req):                           #登录
        if req.method == 'POST':
                uf = UserForm(req.POST)
                if uf.is_valid():
                        username = uf.cleaned_data['username']
                        password = uf.cleaned_data['password']
                        users = User.objects.filter(username = username ,password = password)       #数据库搜素,如果users对象不为空,代表搜索成功
                        if users:
                                response = HttpResponseRedirect('/index/')
                                #生成response对象设置cookie,cookie为字典
                                response.set_cookie('username',username,3600)
                                return response     #把username传给下个页面
                        else:
                                return HttpResponseRedirect('/login/')
        else:
                uf = UserForm()
        return render_to_response('login.html',{'uf':uf})
def index(req):
        username = req.COOKIES.get('username','')   #读取cookie
        return render_to_response('index.html',{'username':username})
def logout(req):
        response = HttpResponse('logout')
        response.delete_cookie('username')
        return response

models.py

from django.db import models
class User(models.Model):
        username = models.CharField(max_length=20)
        password = models.CharField(max_length=200)
        def __unicode__(self):
                return self.username

templates/regist.html

<html>

<head>

</head>

<body>

        <form method='post'>

        {{uf.as_p}}

        <input type='submit' value='ok'/>

        </form>

</body>

</html>


templates/index.html

<html>

<head>

</head>

<body>

        <div>

                <h1>welcome {{username}}</h1>

                <a href='/logout/'>logout</a>

        </div>

</body>

</html>


templates/login.html

<html>

<head>

</head>

<body>

        <form method='post'>

        {{uf.as_p}}

        <input type='submit' value='ok'/>

        </form>

</body>

</html>


urls.py

    url(r'^admin/', include(admin.site.urls)),
    url(r'^regist/$','blog.views.regist'),
    url(r'^login/$','blog.views.login'),
    url(r'^index/$','blog.views.index'),
    url(r'^logout/$','blog.views.logout'),

运维网声明 1、欢迎大家加入本站运维交流群:群②:261659950 群⑤:202807635 群⑦870801961 群⑧679858003
2、本站所有主题由该帖子作者发表,该帖子作者与运维网享有帖子相关版权
3、所有作品的著作权均归原作者享有,请您和我们一样尊重他人的著作权等合法权益。如果您对作品感到满意,请购买正版
4、禁止制作、复制、发布和传播具有反动、淫秽、色情、暴力、凶杀等内容的信息,一经发现立即删除。若您因此触犯法律,一切后果自负,我们对此不承担任何责任
5、所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其内容的准确性、可靠性、正当性、安全性、合法性等负责,亦不承担任何法律责任
6、所有作品仅供您个人学习、研究或欣赏,不得用于商业或者其他用途,否则,一切后果均由您自己承担,我们对此不承担任何法律责任
7、如涉及侵犯版权等问题,请您及时通知我们,我们将立即采取措施予以解决
8、联系人Email:admin@iyunv.com 网址:www.yunweiku.com

所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其承担任何法律责任,如涉及侵犯版权等问题,请您及时通知我们,我们将立即处理,联系人Email:kefu@iyunv.com,QQ:1061981298 本贴地址:https://www.yunweiku.com/thread-40639-1-1.html 上篇帖子: django 学习个人总结 之form提交放到数据库中 下篇帖子: linux正统标准文件系统ext2详解 个人总结 cookie
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

扫码加入运维网微信交流群X

扫码加入运维网微信交流群

扫描二维码加入运维网微信交流群,最新一手资源尽在官方微信交流群!快快加入我们吧...

扫描微信二维码查看详情

客服E-mail:kefu@iyunv.com 客服QQ:1061981298


QQ群⑦:运维网交流群⑦ QQ群⑧:运维网交流群⑧ k8s群:运维网kubernetes交流群


提醒:禁止发布任何违反国家法律、法规的言论与图片等内容;本站内容均来自个人观点与网络等信息,非本站认同之观点.


本站大部分资源是网友从网上搜集分享而来,其版权均归原作者及其网站所有,我们尊重他人的合法权益,如有内容侵犯您的合法权益,请及时与我们联系进行核实删除!



合作伙伴: 青云cloud

快速回复 返回顶部 返回列表