目的: 打开http://127.0.0.1:8000/home    点击查看详情转到 http://127.0.0.1:8000/detail-1-1.html实现查看具体信息

一,利用url路由系统的正则表达式传参数

  url(r'^detail-(?P<uid>\d+)-(?P<nid>\d+).html',views.detail),

  def detail(request,uid,nid):

    return

urls:

from django.contrib import admin
from django.urls import path
from cmbd import views
from django.conf.urls import url
urlpatterns = [
path('admin/', admin.site.urls),
path('home/', views.home),
path('home', views.home),
url(r'^detail-(?P<uid>\d+)-(?P<nid>\d+).html',views.detail),
]

views:

from django.shortcuts import render,redirect
user_dict = {
'1':{'name':'hrg','email':'hrg@163.com','pwd':'123'},
'2':{'name':'eric','email':'hrg@163.com','pwd':'111'},
'3':{'name':'hhh','email':'hrg@163.com','pwd':'222'},
'4':{'name':'kkk','email':'hrg@163.com','pwd':'123'},
} def home(request):
return render(request,'home.html',{'user_dict':user_dict,}) def detail(request,uid,nid):
detail_dict = user_dict[uid]
print(detail_dict)
return render(request,'detail.html',{'detail_dict':detail_dict,})

templates:

home.html

<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>Title</title>
</head>
<body>
<ul>
{% for k,v in user_dict.items %}
<li>
<span>id:{{ k }}姓名:{{ v.name }}</span>
<a href="/detail-{{ k }}-1.html">查看详情</a>
</li>
{% endfor %}
</ul>
</body>
</html> detail.html <!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>Title</title>
</head>
<body>
<h1>用户详情:</h1>
<ul>
{% for k,v in detail_dict.items %}
<li>{{ k }}:{{ v }}</li>
{% endfor %}
</ul>
</body>
</html>

二,利用URL地址栏?功能传参数

  /detail?uid=1&pid=2

urls:

from django.contrib import admin
from django.urls import path
from cmbd import views
from django.conf.urls import url
urlpatterns = [
path('admin/', admin.site.urls),
path('home/', views.home),
path('home', views.home),
path('detail',views.detail),
]

views:

from django.shortcuts import render,redirect
user_dict = {
'1':{'name':'hrg','email':'hrg@163.com','pwd':'123'},
'2':{'name':'eric','email':'hrg@163.com','pwd':'111'},
'3':{'name':'hhh','email':'hrg@163.com','pwd':'222'},
'4':{'name':'kkk','email':'hrg@163.com','pwd':'123'},
} def home(request):
return render(request,'home.html',{'user_dict':user_dict,}) def detail(request):
uid = request.GET.get('uid') #获取home.html中/detail?uid={{ k }}传来的值
detail_dict = user_dict[uid]
print(detail_dict)
return render(request,'detail.html',{'detail_dict':detail_dict,})

templates:

home.html

<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>Title</title>
</head>
<body>
<ul>
{% for k,v in user_dict.items %}
<li>
<span>id:{{ k }}姓名:{{ v.name }}</span>
<a href="/detail?uid={{ k }}">查看详情</a>
</li>
{% endfor %}
</ul>
</body>
</html> detail.html <!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>Title</title>
</head>
<body>
<h1>用户详情:</h1>
<ul>
{% for k,v in detail_dict.items %}
<li>{{ k }}:{{ v }}</li>
{% endfor %}
</ul>
</body>
</html>

  

												

分页传参数的两种形式,url正则 ?id=1的更多相关文章

  1. thinkphp的model的where条件的两种形式

    thinkphp的model的where查询时有两种形式. $model->field('id')->where('customer_num is null or customer_num ...

  2. thinkphp 3.2.3 入门示例2(URL传参数的几种方式)

    原文:thinkphp中URL传参数的几种方式 在thinkphp中,url传参合asp.net中原理类似,下面就单个参数和多个参数传递方式进行一个简单讲解 1.传单个参数 单个参数这种比较简单,例如 ...

  3. 基于 Scrapy-redis 两种形式的分布式爬虫

    基于 Scrapy-redis 两种形式的分布式爬虫 .caret, .dropup > .btn > .caret { border-top-color: #000 !important ...

  4. Controller@实现Controller的两种形式

    实现Controller的两种形式 形式1:仅仅实现IController接口,自定义Controller对Request的实现.形式2:在实现IController接口以后,继承Controller ...

  5. 微信小程序传参数的几种方法

    1,navigator 跳转时 wxml页面(参数多时可用“&”) <navigator url='../index/index?id=1&name=aaa'></n ...

  6. Python中函数传递参数有四种形式

    Python中函数传递参数有四种形式 fun1(a,b,c) fun2(a=1,b=2,c=3) fun3(*args) fun4(**kargs) 四种中最常见是前两种,基本上一般点的教程都会涉及, ...

  7. C++:一般情况下,设计函数的形参只需要两种形式

    C++:一般情况下,设计函数的形参只需要两种形式.一,是引用形参,例如 void function (int &p_para):二,是常量引用形参,例如 void function(const ...

  8. jquery插件的两种形式

    这里总结一下jquery插件的两种形式,一种是通过字面量的形式组织代码,另一种是通过构造函数的方式.下面就两种形式来分析俩个例子. 例子1: ;(function ($,window,document ...

  9. ajax的data传参的两种方式

    ajax的data传参的两种方式 本文为转载. 1.[javascript] view plain copy /** * 订单取消 * @return {Boolean} 处理是否成功 */ func ...

随机推荐

  1. codeforces 343d

    题意:一棵树结构上有水,往一个节点加水,那么所有的子节点都会有水,或者排干一个节点的水,那么它的上面的节点都会没水. 用dfs序,数组记录区间内全部有水为1,区间内有没水的点就为0. 倒水:区间更新, ...

  2. 『Python CoolBook』C扩展库_其一_用法讲解

    不依靠其他工具,直接使用Python的扩展API来编写一些简单的C扩展模块. 本篇参考PythonCookbook第15节和Python核心编程完成,值得注意的是,Python2.X和Python3. ...

  3. jvm回收器回收过程一:CMS和 G1的初认知(持续更新中)

    CMS:介绍: 1.CMS(Concurrent Mark-Sweep)是以牺牲吞吐量为代价来获得最短回收停顿时间的垃圾回收器.对于要求服务器响应速度的应用上,这种垃圾回收器非常适合. 在启动JVM参 ...

  4. 发布npm

    前言 我们npm publish发布的时候,一定是本地文件发布到远程仓库,并且登录到http://registry.npmjs.org(即npm adduser或npmlogin)之后,才可以进行发布 ...

  5. mycat 入门使用例子

    目的:有 user 和 t_order 两张数据表,表 user 的数据全部存放在 db1_zhang 中,表 t_order 的数据按 id 对 2 取模分别存放在 db1_zhang 和 db2_ ...

  6. 从0到有,虚拟机安装centos,然后ssh连接虚拟机

    安装centos 1.下载centos镜像 https://mirrors.aliyun.com/centos/6.8/isos/x86_64/CentOS-6.8-x86_64-bin-DVD1.i ...

  7. SharePoint REST API - 同步SharePoint列表项

    博客地址:http://blog.csdn.net/FoxDave 本篇只讲REST服务中的GetListItemChangesSinceToken这个东西.何谓同步呢,你也可以理解为增量变化,即 ...

  8. 如何ASP.NET Core Razor中处理Ajax请求[转载]

    在ASP.NET Core Razor(以下简称Razor)刚出来的时候,看了一下官方的文档,一直没怎么用过. 今天闲来无事,准备用Rozor做个项目熟练下,结果写第一个页面就卡住了..折腾半天才搞好 ...

  9. 一般xcode报错

    下面这图报找不到FMDtabaseQueue,其实是把文件拖入xcode的时候xcode没有把.m文件添加进工程路径 解决办法:build phases-> compile sources &q ...

  10. VirtualBox安装CENTOS7.3常见问题

    1 DHCP 问题无法上网解决 :sudo dhclient 2 安装宝塔面板:yum install -y wget && wget -O install.sh http://dow ...