django跳转页面传参的实现


Posted in Python onSeptember 17, 2020

一、情景

    eg:查看一条数据的详情,需要跳转页面,并进行传值

二、思路

方式1:触发详情按钮时,Js获取到该条数据的id值,并传递给url,后台接受到该请求,通过id查询到这条数据。并返回一个json串给前端。前端拿到数据进行处理,映射给页面。

方式2:触发详情按钮时,同时前端进行本地保存当前数据(sessionstorage\localstorage),跳转页面后,前端直接从storage当前取值并回显。

           ①关于数据存储:

            sessionstorage:数据存储,关闭窗口的同时,清除数据

            localstorage:数据存储,未定义过期时间,一直存在本地

需要注意的是:当前端页面发生跳转时,资源都会被重载,当未进行传值的情况下,无法跨页面加载数据。

三 实现:

方式1:URL传值

①获取id后直接传递给URL

window.location.href=`index.html?nid=${id}`;

②再跳转到index.html的js中获取到该并id解析

(function() {
 window.onload = function() {
    var url=window.location.href;
    var url_param = url.split("?")[1];
    var url_param_arr = url_param.split("=");
    var nid ={nid:url_param_arr[1]};
    preview_index(nid);//处理函数,发送请求
 }
})();

方式2:本地存储

①存

//本地存储
        var storage = window.sessionStorage;
        storage['index_name'] = $('#index_name').val();
        storage['index_title'] = $('#index_title').val();
        storage['index_content'] = $('#index_content').val();

②读取

var storage=window.sessionStorage;
title=storage.index_title

四、其他方法

1、如果在反转url的时候,需要添加参数,那么可以通过传递'kwargs'参数到'reverse'函数中。实例代码:

urls.py

from django.urls import path, re_path
from app01 import views

urlpatterns = [
  path('article/<year>/<month>/',views.article,name='article'),
  path('', views.Login.as_view(), name="login"),
  ]

views.py

from django.shortcuts import HttpResponse, redirect, reverse
from django.contrib.auth.models import User, 
from django.views.generic import View
from django.contrib.auth import authenticate, login,

class Login(View):
  def get(self, request):
    return render(request, 'login.html')

  def post(self, request):
    username = request.POST.get('username')
    passwd = request.POST.get('passwd')
    user = authenticate(request, username=username, password=passwd)
    if user is not None:
      if user.is_active:
        login(request, user)
        # 登录成功跳转页面
        return redirect(reverse('article', kwargs={'year': 2019, 'month': 12}))
      else:
        err_msg = '用户未激活,请联系管理员进行激活'
    else:
      err_msg = '用户名或密码有误'
    return render(request, 'login.html', {"err_msg": err_msg, "username": username})


def article(request, year, month):
  return HttpResponse('您查询的文章日期是:%s年%s月' %(year, month))

2、如果想要添加查询字符串的参数,则必须手动的进行拼接。实例代码如下:

login_url = reverse('login')+"?next=/"

到此这篇关于django跳转页面传参的实现的文章就介绍到这了,更多相关django跳转页面传参内容请搜索三水点靠木以前的文章或继续浏览下面的相关文章希望大家以后多多支持三水点靠木!

Python 相关文章推荐
python中print()函数的“,”与java中System.out.print()函数中的“+”功能详解
Nov 24 Python
Python xlwt设置excel单元格字体及格式
Apr 18 Python
浅谈Django自定义模板标签template_tags的用处
Dec 20 Python
Python 中Pickle库的使用详解
Feb 24 Python
python中使用zip函数出现错误的原因
Sep 28 Python
Python Pandas数据结构简单介绍
Jul 03 Python
Python日期格式和字符串格式相互转换的方法
Feb 18 Python
Numpy一维线性插值函数的用法
Apr 22 Python
keras得到每层的系数方式
Jun 15 Python
pytorch锁死在dataloader(训练时卡死)
May 28 Python
总结几个非常实用的Python库
Jun 26 Python
一起来学习Python的元组和列表
Mar 13 Python
解决Ubuntu18中的pycharm不能调用tensorflow-gpu的问题
Sep 17 #Python
Django mysqlclient安装和使用详解
Sep 17 #Python
Pycharm2020最新激活码|永久激活(附最新激活码和插件的详细教程)
Sep 29 #Python
Django返回HTML文件的实现方法
Sep 17 #Python
Pycharm新手使用教程(图文详解)
Sep 17 #Python
Django修改app名称和数据表迁移方案实现
Sep 17 #Python
Python request中文乱码问题解决方案
Sep 17 #Python
You might like
解析PHP中DIRECTORY_SEPARATOR,PATH_SEPARATOR两个常量的作用
2013/06/21 PHP
php二维数组转成字符串示例
2014/02/17 PHP
PHP判断文章里是否有图片的简单方法
2014/07/26 PHP
php与flash as3 socket通信传送文件实现代码
2014/08/16 PHP
PHP答题类应用接口实例
2015/02/09 PHP
ThinkPHP打水印及设置水印位置的方法
2016/10/14 PHP
javascript innerHTML使用分析
2010/12/03 Javascript
js中top、clientTop、scrollTop、offsetTop的区别 文字详细说明版
2011/01/08 Javascript
jQuery调用WebService的实现代码
2011/06/19 Javascript
顶部缓冲下拉菜单导航特效的JS代码
2013/08/27 Javascript
nodeJS代码实现计算交社保是否合适
2015/03/09 NodeJs
JS动态修改iframe内嵌网页地址的方法
2015/04/01 Javascript
JS中的二叉树遍历详解
2016/03/18 Javascript
基于jQuery插件实现点击小图显示大图效果
2016/05/11 Javascript
jQuery和hwSlider实现内容响应式可触控滑动切换效果附源码下载(二)
2016/06/22 Javascript
使用微信内嵌H5网页解决JS倒计时失效问题
2017/01/13 Javascript
jQuery简单实现向列表动态添加新元素的方法示例
2017/12/25 jQuery
详解Vue组件之作用域插槽
2018/11/22 Javascript
js实现的在本地预览图片功能示例
2019/11/09 Javascript
vue中实现点击按钮滚动到页面对应位置的方法(使用c3平滑属性实现)
2019/12/29 Javascript
js仿淘宝放大镜效果
2020/12/28 Javascript
Python接收Gmail新邮件并发送到gtalk的方法
2015/03/10 Python
从Python的源码来解析Python下的freeblock
2015/05/11 Python
基于wxpython开发的简单gui计算器实例
2015/05/30 Python
django项目运行因中文而乱码报错的几种情况解决
2017/11/07 Python
Python实现按当前日期(年、月、日)创建多级目录的方法
2018/04/26 Python
对python中的iter()函数与next()函数详解
2018/10/18 Python
linux 下selenium chrome使用详解
2020/04/02 Python
pandas dataframe 中的explode函数用法详解
2020/05/18 Python
挪威手表购物网站:Klokker
2016/09/19 全球购物
Michael Kors英国官网:美国奢侈品品牌
2019/11/13 全球购物
公司踏青活动方案
2014/08/16 职场文书
运动会报道稿300字
2014/10/02 职场文书
2015羊年春节慰问信
2015/02/14 职场文书
十八大观后感
2015/06/12 职场文书
2015新员工工作总结范文
2015/10/15 职场文书