Django跳转,缓存,信号,序列化

跳转问题

如果我现在停留在文章的详情页,用户未登陆,如果你要评论,或者点赞就应该回到登陆页面登陆

如果登陆成功了,就要返回到当初跳转过来的页面

第一种通过前后端传送数据

$(‘.hit‘).click(function () {
    if ($(‘.user_is‘).attr(‘id‘)){  # 这个时候把用户传过来写成标签看是否获取到值
        alert(‘我是登陆了哈哈,所以可以点赞‘)
    }
    else {
        alert(‘/login/?next=‘ + location.pathname);
        location.href = ‘/login/?next=‘ + location.pathname
    }                        

第二种通过cookies,利用了ajax的第三种伪造

{#    第三种伪造方法#}
<script src="/static/js/jquery.cookie.js"></script>  必须引用这个

$(‘.logout‘).click(function () {
    location.href = ‘/logout/‘
    });
$(‘.hit‘).click(function () {
    if ($.cookie(‘user‘) != ‘None‘){
        console.log($.cookie(‘user‘));
        console.log(‘我是登陆了,可以点赞‘)
    }
    else {
        location.href =  "/login/"
    }
})                        

原文地址:https://www.cnblogs.com/jokerbj/p/8343254.html

时间: 2024-08-30 15:00:48

Django跳转,缓存,信号,序列化的相关文章

django的缓存,信号,序列化

一 Django的缓存机制 1.1 缓存介绍 1.缓存的简介 在动态网站中,用户所有的请求,服务器都会去数据库中进行相应的增,删,查,改,渲染模板,执行业务逻辑,最后生成用户看到的页面. 当一个网站的用户访问量很大的时候,每一次的的后台操作,都会消耗很多的服务端资源,所以必须使用缓存来减轻后端服务器的压力. 缓存是将一些常用的数据保存内存或者memcache中,在一定的时间内有人来访问这些数据时,则不再去执行数据库及渲染等操作,而是直接从内存或memcache的缓存中去取得数据,然后返回给用户.

Django 缓存、序列化、信号

缓存.序列化.信号 一.缓存 由于Django是动态网站,所有每次请求均会去数据进行相应的操作,当程序访问量大时,耗时必然会更加明显,最简单解决方式是使用:缓存,缓存将一个某个views的返回值保存至内存或者memcache中,5分钟内再有人来访问时,则不再去执行view中的操作,而是直接从内存或者memcache中之前缓存的内容拿到,并返回. Django中提供了6种缓存方式: 开发调试 内存 文件 数据库 Memcache缓存(python-memcached模块) Memcache缓存(p

Django基础---web框架 和 django 介绍3 --model --form---跨站请求---cookie--session--分页--缓存--信号

Model 到目前为止,当我们的程序涉及到数据库相关操作时,我们一般都会这么搞: 创建数据库,设计表结构和字段 使用 MySQLdb 来连接数据库,并编写数据访问层代码 业务逻辑层去调用数据访问层执行数据库操作 django为使用一种新的方式,即:关系对象映射(Object Relational Mapping,简称ORM). PHP:activerecord Java:Hibernate C#:Entity Framework django中遵循 Code Frist 的原则,即:根据代码中定

分页,缓存,序列化,信号

一.分页 1.Django内置分页 from django.shortcuts import render from django.core.paginator import Paginator, EmptyPage, PageNotAnInteger L = [] for i in range(999): L.append(i) def index(request): current_page = request.GET.get('p') paginator = Paginator(L, 10

Django进阶之缓存和信号

一.缓存 简介 由于Django是动态网站,所有每次请求均会去数据进行相应的操作,当程序访问量大时,耗时必然会更加明显,最简单解决方式是使用:缓存,缓存将一个某个views的返回值保存至内存或者memcache中,5分钟内再有人来访问时,则不再去执行view中的操作,而是直接从内存或者Redis中之前缓存的内容拿到,并返回. Django提供了6种缓存方式: 1.    开发调试 2.    内存 3.    文件 4.    数据库 5.    Memcache缓存(python-memcac

缓存、序列化、信号

https://www.cnblogs.com/maple-shaw/articles/7563029.html 一.缓存 由于Django是动态网站,所有每次请求均会去数据进行相应的操作,当程序访问量大时,耗时必然会更加明显,最简单解决方式是使用:缓存,缓存将一个某个views的返回值保存至内存或者memcache中,5分钟内再有人来访问时,则不再去执行view中的操作,而是直接从内存或者memcache中之前缓存的内容拿到,并返回. Django中提供了6种缓存方式: 开发调试 内存 文件

django高级之缓存与信号

目录 一.缓存 二.序列化 三.信号 回到顶部 一.缓存 由于Django是动态网站,所有每次请求均会去数据进行相应的操作,当程序访问量大时,耗时必然会更加明显,最简单解决方式是使用:缓存,缓存将一个某个views的返回值保存至内存或者memcache中,5分钟内再有人来访问时,则不再去执行view中的操作,而是直接从内存或者memcache中之前缓存的内容拿到,并返回. Django中提供了6种缓存方式: 开发调试 内存 文件 数据库 Memcache缓存(python-memcached模块

【python】-- Django 中间件、缓存、信号

Django  中间件.缓存.信号 一. Django  中间件 django 中的中间件(middleware),在django中,中间件其实就是一个类,在请求到来和结束后,django会根据自己的规则在合适的时机执行中间件中相应的方法. 在django项目的settings模块中,有一个 MIDDLEWARE_CLASSES 变量,其中每一个元素就是一个中间件: MIDDLEWARE = [ 'django.middleware.security.SecurityMiddleware', '

85 缓存, 验证码 序列化

主要内容:http://www.cnblogs.com/maple-shaw/articles/7563029.html 1 缓存: 把数据存在某个地方, 下次再读取的时候不用再去原位置读取 缓存即是将一个某个views的返回值保存至内存或者是memcache中, 在你所设置的时间内, 如果有人再来访问的时候, 则不会再执行view中的操作, 而是直接从内存或者memcache中之前的缓存的内容中拿到. jango提供的六种缓存方式: 见老师博客: 1: 缓存应用在视图中:  粒度适中 先在se

Django中的缓存(内存,文件,redis)

一.Django中的缓存的几种方法 1)单个视图缓存.时间测试 import time from django.views.decorators.cache import cache_page @cache_page(5) # 缓存5秒 def test_time(request): ctime=time.time() return HttpResponse(ctime) 在5秒内访问的时间不变,该缓存到了内存里面 2)设置全局缓存 需要在settings添加中间件 MIDDLEWARE_CLA