目的: 打开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. 使用cookie记录页面跳转次数,然后从最后一级页面跳转回首页面

    1.首先,给出cookie设置,获取,删除的操作函数. function setCookie(name,value) {          var Days = 30;          var ex ...

  2. FileWriter向文件中写入内容

    1.创建fileWriter对象 2.写入文件信息 3.关闭流 必须关闭流,否则将不能写入文件中 /** * * @author Administrator * 文件写入对象的使用 * */ publ ...

  3. asp.net core2.1 bundleconfig.json合并压缩资源文件

    在asp.net core中则可以使用BuildBundlerMinifier来进行css,js的压缩合并 1.使用NuGet安装 BuildBundlerMinifier(也可以在vs中下载安装扩展 ...

  4. JavaScript(ES6)学习笔记-Set和Map数据结构(一)

    一.Set 1.ES6 提供了新的数据结构 Set.它类似于数组,但是成员的值都是唯一的,没有重复的值. Set 本身是一个构造函数,用来生成 Set 数据结构. , , , , ']); s; // ...

  5. STL 小白学习(5) stack栈

    #include <iostream> #include <stack> //stack 不遍历 不支持随机访问 必须pop出去 才能进行访问 using namespace ...

  6. less和sass的定义和区别

    less是单独的一种文件,可以理解为css的升级版: sass是一个相对新的编程语言,为web前端开发而生,可以用它来定义一套新的语法规则和函数: 区别: ①   表现方式不同:less基于javas ...

  7. MapServer Tutorial——MapServer7.2.1教程学习(大纲)

    MapServer Tutorial——MapServer7.2.1教程学习(大纲) 前言 最近在学习Gis方面的知识,因为电脑硬件配置偏低,顾选择MapServer入手.网上搜索MapServer系 ...

  8. String Permutation

    Given two strings, write a method to decide if one is a permutation of the other. Example abcd is a ...

  9. Wampserver 403问题

    使用Wampserver   2.4.23做反向代理时报403没有权限:是因为在升级到2.4之后的版本只修改httpd.conf文件不管用 正确步骤如下:1.修改httpd.conf 文件中的Requ ...

  10. linux系统转换root权限

    有时候我们用普通用户的权限没办法完成有关权限,这时候我们就需要拿到root权限才可以,拿到root权限有两种方式 方式一: su - 或者su 此时就会提示你输入密码,输入密码成功以后就能以root权 ...