Django设置和读取Cookie

2025-10-24 21:44:43

1、登录CentOS7系统,打开终端,创建django工程,创建app应用,命令如下:

workon djandotest

django-admin startproject djcookie

cd djcookie/

python manage.py startapp book

tree

Django设置和读取Cookie

2、在工程的settings.py文件,添加应用

cd djcookie

vi settings.py

修改部分的settings.py文件如下

INSTALLED_APPS = [

    'django.contrib.admin',

    'django.contrib.auth',

    'django.contrib.contenttypes',

    'django.contrib.sessions',

    'django.contrib.messages',

    'django.contrib.staticfiles',

    'book.apps.BookConfig',

]

Django设置和读取Cookie

3、在工程的urls.py文件,include应用的urls

vi urls.py

urls.py文件如下:

from django.conf.urls import url,include

from django.contrib import admin

urlpatterns = [

    url(r'^admin/', admin.site.urls),

    url(r'^book/', include('book.urls')),

]

Django设置和读取Cookie

4、在book应用中创建urls.py,配置到视图index函数的路由

cd ../book

vi urls.py

urls.py文件如下:

from django.conf.urls import url

from . import views

urlpatterns = [

    url(r'^index/', views.index),

]

Django设置和读取Cookie

5、在book应用的views.py文件编写index视图函数

vi views

代码如下:

from django.shortcuts import render

from django.http import HttpResponse

# Create your views here.

def index(request):

    c1 = request.COOKIES.get('c1')

    response = HttpResponse('ok')

    if c1 == None :

        response.set_cookie('c1','django',max_age=600)

    else:

        print (c1)

    return response

解释一下:

HttpResponse.set_cookie(cookie名,cookie值,max_age=cookide有效期)

max_age以秒为单位,默认为None

request.COOKIES.get(key)通过key获取值

Django设置和读取Cookie

6、运行django服务器

cd ..

python manage.py runserver

Django设置和读取Cookie

7、浏览器输入网址

http://127.0.0.1:8000/book/index/

第一次访问携带cookie,因为还没有设置cookie,第一次访问得到返回时才设置好cookie,第二次访问时候就携带了cookie

Django设置和读取Cookie

8、第二次访问同样的网址,控制台打印出

django

即是cookie的c1对应的值

设置和读取cookie成功

Django设置和读取Cookie

声明:本网站引用、摘录或转载内容仅供网站访问者交流或参考,不代表本站立场,如存在版权或非法内容,请联系站长删除,联系邮箱:site.kefu@qq.com。
猜你喜欢