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连接池实现示例程序
Nov 26 Python
用Python编写一个基于终端的实现翻译的脚本
Apr 24 Python
Python+微信接口实现运维报警
Aug 27 Python
Python代码解决RenderView窗口not found问题
Aug 28 Python
python利用正则表达式搜索单词示例代码
Sep 24 Python
python脚本作为Windows服务启动代码详解
Feb 11 Python
python读取csv文件并把文件放入一个list中的实例讲解
Apr 27 Python
Python流行ORM框架sqlalchemy安装与使用教程
Jun 04 Python
如何利用Python开发一个简单的猜数字游戏
Sep 22 Python
tensorflow 动态获取 BatchSzie 的大小实例
Jun 30 Python
Python如何给函数库增加日志功能
Aug 04 Python
Python函数递归调用实现原理实例解析
Aug 11 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+Ajax验证码验证用户登录
2016/07/20 PHP
对采用动态原型方式无法展示继承机制得思考
2009/12/04 Javascript
利用jq让你的div居中的好方法分享
2013/11/21 Javascript
使用JS或jQuery模拟鼠标点击a标签事件代码
2014/03/10 Javascript
JS实现网页滚动条感应鼠标变色的方法
2015/02/26 Javascript
浅谈Javascript实现继承的方法
2015/07/06 Javascript
jQuery中$.ajax()和$.getJson()同步处理详解
2015/08/12 Javascript
js验证真实姓名与身份证号是否匹配
2015/10/13 Javascript
基于jquery实现图片相关操作(重绘、获取尺寸、调整大小、缩放)
2015/12/25 Javascript
基于Bootstrap实现tab标签切换效果
2020/04/15 Javascript
js实现四舍五入完全保留两位小数的方法
2016/08/02 Javascript
Nodejs抓取html页面内容(推荐)
2016/08/11 NodeJs
JS/jQuery判断DOM节点是否存在的简单方法
2016/11/24 Javascript
简单实现node.js图片上传
2016/12/18 Javascript
select自定义小三角样式代码(实用总结)
2017/08/18 Javascript
JavaScript闭包的简单应用
2017/09/01 Javascript
分分钟学会vue中vuex的应用(入门教程)
2017/09/14 Javascript
Angularjs按需查询实例代码
2017/10/30 Javascript
JavaScript学习总结(一) ECMAScript、BOM、DOM(核心、浏览器对象模型与文档对象模型)
2018/01/07 Javascript
使用node搭建自动发图文微博机器人的方法
2019/03/22 Javascript
jquery实现直播视频弹幕效果
2020/02/25 jQuery
Python实现冒泡,插入,选择排序简单实例
2014/08/18 Python
Python操作CouchDB数据库简单示例
2015/03/10 Python
Python tkinter实现的图片移动碰撞动画效果【附源码下载】
2018/01/04 Python
Python实现常见的回文字符串算法
2018/11/14 Python
python为QT程序添加图标的方法详解
2020/03/09 Python
Python面向对象特殊属性及方法解析
2020/09/16 Python
python脚本使用阿里云slb对恶意攻击进行封堵的实现
2021/02/04 Python
Harrods美国:英国最大的百货公司
2018/11/04 全球购物
校领导推荐信
2013/11/01 职场文书
分公司经理岗位职责
2013/11/11 职场文书
带薪年假请假条
2014/02/04 职场文书
劲霸男装广告词
2014/03/21 职场文书
公司离职证明标准样本
2014/10/05 职场文书
班级联欢会主持词
2015/07/03 职场文书
SQL Server表分区降低运维和维护成本
2022/04/08 SQL Server