zoukankan      html  css  js  c++  java
  • django 学习-16 Django会话Cookie

    1、django.admin.py  startproject   cs3

    cd cs3

    django.admin.py   startapp   blog

    2、    vim urls.py

    url(r'^regist/$','blog.views.regist'),       注册
        url(r'^login/$','blog.views.login'),   登录
        url(r'^index/$','blog.views.index'),      跳转界面
        url(r'^logout/$','blog.views.logout'),    注销
    )

    3、vim blog/views.py

    from   django  import  forms
    from django.http  import  HttpResponse
    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)
                            return HttpResponse('ok')
            else:
                    uf = UserForm
            return render_to_response('regist.html',{'uf':uf})

    4、vim blog/templates/regist.html

    <form method="post">
    {{uf.as_p}}
    <input type="submit" value='nice'/ >
    </form>
    5、      python  manage.py syncdb

      python manage.py   runserver

    进入页面去试一试127.0.0.1:8000/regist

    6、vim blog/views.py

    增加这些

     from django.http import HttpResponseRedirect

     def login(req):
     23         if req.method == "POST":
     24                 uf = UserForm(req.POST)
     25                 if uf.is_valid():
     26                         username = uf.cleaned_data['username']
     27                         password = uf.cleaned_data['password']
     28                         users = User.objects.filter(username__exact=username,password__exact=password)
     29                         if users:
     30                                 return HttpResponseRedirect('/index/')
     31                         else:
     32                                 return HttpResponseRedirect('/login/')
     33         else:
     34                 uf = UserForm()
     35         return render_to_response('login.html',{'uf':uf})
     36 def index(req):
     37         return HttpResponse('ok')

    再去试一试127.0.0.1:8000/login   会跳转到index   127.0.0.1:8000/index   直接访问index会返回OK

    6、vim blog/views.py      顺便cp  regist.html  login.html

    def index(req):
            username = req.COOKIES.get('username','')           用cook获取用户名,在网页界面还可以去查找,在freference-->privacy-->选use custome                                                         for settings  history -->show cookies就可以看到了

            return render_to_response('index.html', {'username':username})
    def logout(req):
            response = HttpResponse('logout')
            response.delete_cookie('username')                        cookie 的删除方式
            return response
        7  、 vim blog/templates/index.html        

      <div>

    <h1>welcome {{username}}</h1>
    <a href='/logout/'>logout</a>
    </div>
    这样index下就会有个logout可以选择退出

  • 相关阅读:
    希腊字母写法
    The ASP.NET MVC request processing line
    lambda aggregation
    UVA 10763 Foreign Exchange
    UVA 10624 Super Number
    UVA 10041 Vito's Family
    UVA 10340 All in All
    UVA 10026 Shoemaker's Problem
    HDU 3683 Gomoku
    UVA 11210 Chinese Mahjong
  • 原文地址:https://www.cnblogs.com/Icanflyssj/p/5134650.html
Copyright © 2011-2022 走看看