分页传参数的两种形式,url正则 ?id=1
目的: 打开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的更多相关文章
- thinkphp的model的where条件的两种形式
thinkphp的model的where查询时有两种形式. $model->field('id')->where('customer_num is null or customer_num ...
- thinkphp 3.2.3 入门示例2(URL传参数的几种方式)
原文:thinkphp中URL传参数的几种方式 在thinkphp中,url传参合asp.net中原理类似,下面就单个参数和多个参数传递方式进行一个简单讲解 1.传单个参数 单个参数这种比较简单,例如 ...
- 基于 Scrapy-redis 两种形式的分布式爬虫
基于 Scrapy-redis 两种形式的分布式爬虫 .caret, .dropup > .btn > .caret { border-top-color: #000 !important ...
- Controller@实现Controller的两种形式
实现Controller的两种形式 形式1:仅仅实现IController接口,自定义Controller对Request的实现.形式2:在实现IController接口以后,继承Controller ...
- 微信小程序传参数的几种方法
1,navigator 跳转时 wxml页面(参数多时可用“&”) <navigator url='../index/index?id=1&name=aaa'></n ...
- Python中函数传递参数有四种形式
Python中函数传递参数有四种形式 fun1(a,b,c) fun2(a=1,b=2,c=3) fun3(*args) fun4(**kargs) 四种中最常见是前两种,基本上一般点的教程都会涉及, ...
- C++:一般情况下,设计函数的形参只需要两种形式
C++:一般情况下,设计函数的形参只需要两种形式.一,是引用形参,例如 void function (int &p_para):二,是常量引用形参,例如 void function(const ...
- jquery插件的两种形式
这里总结一下jquery插件的两种形式,一种是通过字面量的形式组织代码,另一种是通过构造函数的方式.下面就两种形式来分析俩个例子. 例子1: ;(function ($,window,document ...
- ajax的data传参的两种方式
ajax的data传参的两种方式 本文为转载. 1.[javascript] view plain copy /** * 订单取消 * @return {Boolean} 处理是否成功 */ func ...
随机推荐
- codeforces 343d
题意:一棵树结构上有水,往一个节点加水,那么所有的子节点都会有水,或者排干一个节点的水,那么它的上面的节点都会没水. 用dfs序,数组记录区间内全部有水为1,区间内有没水的点就为0. 倒水:区间更新, ...
- 『Python CoolBook』C扩展库_其一_用法讲解
不依靠其他工具,直接使用Python的扩展API来编写一些简单的C扩展模块. 本篇参考PythonCookbook第15节和Python核心编程完成,值得注意的是,Python2.X和Python3. ...
- jvm回收器回收过程一:CMS和 G1的初认知(持续更新中)
CMS:介绍: 1.CMS(Concurrent Mark-Sweep)是以牺牲吞吐量为代价来获得最短回收停顿时间的垃圾回收器.对于要求服务器响应速度的应用上,这种垃圾回收器非常适合. 在启动JVM参 ...
- 发布npm
前言 我们npm publish发布的时候,一定是本地文件发布到远程仓库,并且登录到http://registry.npmjs.org(即npm adduser或npmlogin)之后,才可以进行发布 ...
- mycat 入门使用例子
目的:有 user 和 t_order 两张数据表,表 user 的数据全部存放在 db1_zhang 中,表 t_order 的数据按 id 对 2 取模分别存放在 db1_zhang 和 db2_ ...
- 从0到有,虚拟机安装centos,然后ssh连接虚拟机
安装centos 1.下载centos镜像 https://mirrors.aliyun.com/centos/6.8/isos/x86_64/CentOS-6.8-x86_64-bin-DVD1.i ...
- SharePoint REST API - 同步SharePoint列表项
博客地址:http://blog.csdn.net/FoxDave 本篇只讲REST服务中的GetListItemChangesSinceToken这个东西.何谓同步呢,你也可以理解为增量变化,即 ...
- 如何ASP.NET Core Razor中处理Ajax请求[转载]
在ASP.NET Core Razor(以下简称Razor)刚出来的时候,看了一下官方的文档,一直没怎么用过. 今天闲来无事,准备用Rozor做个项目熟练下,结果写第一个页面就卡住了..折腾半天才搞好 ...
- 一般xcode报错
下面这图报找不到FMDtabaseQueue,其实是把文件拖入xcode的时候xcode没有把.m文件添加进工程路径 解决办法:build phases-> compile sources &q ...
- VirtualBox安装CENTOS7.3常见问题
1 DHCP 问题无法上网解决 :sudo dhclient 2 安装宝塔面板:yum install -y wget && wget -O install.sh http://dow ...