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读取一个目录下所有目录和文件的方法
Jul 15 Python
NetworkX之Prim算法(实例讲解)
Dec 22 Python
Python实现的建造者模式示例
Aug 06 Python
python中强大的format函数实例详解
Dec 05 Python
利用ImageAI库只需几行python代码实现目标检测
Aug 09 Python
pytorch中的inference使用实例
Feb 20 Python
python print 格式化输出,动态指定长度的实现
Apr 12 Python
Python使用os.listdir和os.walk获取文件路径
May 21 Python
详解Python直接赋值,深拷贝和浅拷贝
Jul 09 Python
如何在python中判断变量的类型
Jul 29 Python
Python join()函数原理及使用方法
Nov 14 Python
python 制作简单的音乐播放器
Nov 25 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在线生成二维码代码(google api)
2013/06/03 PHP
PHP PDO fetch 模式各种参数的输出结果一览
2015/01/07 PHP
PHP中4种常用的抓取网络数据方法
2015/06/04 PHP
JavaScript版代码高亮
2006/06/26 Javascript
Web层改进II-用xmlhttp 无声息提交复杂表单
2007/01/22 Javascript
js/jquery获取浏览器窗口可视区域高度和宽度以及滚动条高度实现代码
2012/12/17 Javascript
ExtJS4利根据登录后不同的角色分配不同的树形菜单
2014/05/02 Javascript
js中运算符&amp;&amp; 和 || 的使用记录
2014/08/21 Javascript
在JavaScript中处理时间之setMinutes()方法的使用
2015/06/11 Javascript
javascript实现根据3原色制作颜色选择器的方法
2015/07/17 Javascript
bootstrap组件之按钮式下拉菜单小结
2017/01/19 Javascript
JS拖拽排序插件Sortable.js用法实例分析
2019/02/20 Javascript
基于layui内置模块(element常用元素的操作)
2019/09/20 Javascript
js实现内置计时器
2019/12/16 Javascript
iview实现动态表单和自定义验证时间段重叠
2021/01/10 Javascript
js 执行上下文和作用域的相关总结
2021/02/08 Javascript
python正则表达式判断字符串是否是全部小写示例
2013/12/25 Python
python使用paramiko实现远程拷贝文件的方法
2016/04/18 Python
Python中matplotlib中文乱码解决办法
2017/05/12 Python
Python中的探索性数据分析(功能式)
2017/12/22 Python
对Python 文件夹遍历和文件查找的实例讲解
2018/04/26 Python
Python判断字符串是否为字母或者数字(浮点数)的多种方法
2018/08/03 Python
Python格式化字符串f-string概览(小结)
2019/06/18 Python
python设计tcp数据包协议类的例子
2019/07/23 Python
Python的几种主动结束程序方式
2019/11/22 Python
CSS3结构性伪类选择器九种写法
2012/04/18 HTML / CSS
css3中flex布局宽度不生效的解决
2020/12/09 HTML / CSS
新加坡航空官方网站:Singapore Airlines
2016/10/13 全球购物
Nicole Miller官方网站:纽约女装品牌
2019/09/14 全球购物
PHP如何防止SQL注入
2014/05/03 面试题
高一家长会邀请函
2014/01/12 职场文书
中国梦演讲稿教师篇
2014/04/23 职场文书
绿色环保口号
2014/06/12 职场文书
乡镇领导班子四风整顿行动工作汇报
2014/10/25 职场文书
乡镇党的群众路线教育实践活动个人整改方案
2014/10/31 职场文书
干部作风纪律整顿心得体会
2016/01/23 职场文书