zoukankan      html  css  js  c++  java
  • 分页传参数的两种形式,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>
    

      



  • 相关阅读:
    【左偏树+贪心】BZOJ1367-[Baltic2004]sequence
    【裸裸的左偏树】BZOJ1455-罗马游戏
    【贪心+Treap】BZOJ1691-[Usaco2007 Dec]挑剔的美食家
    【贪心】BZOJ3668-[NOI2014]起床困难综合症
    【多重背包小小的优化(。・∀・)ノ゙】BZOJ1531-[POI2005]Bank notes
    【可持久化并查集】BZOJ3673-可持久化并查集 by zky
    【manacher+FFT】BZOJ3160-万径人踪灭
    SCOI2008着色方案(记忆化搜索)
    [JSOI2008]魔兽地图(树形dp)
    NOI2017蔬菜(贪心)
  • 原文地址:https://www.cnblogs.com/alex-hrg/p/9674762.html
Copyright © 2011-2022 走看看