zoukankan      html  css  js  c++  java
  • 109-get方式获取url传值

    url中可以包含一些参数,这些参数可能是被拼凑出来的,也可能是直接手写进去的。

    首先看如何用get的方式,获取url里的值。

    1、get方式,例如网址是/?x=1&y=2这种,这里的x和y都是变量

    先看views函数,我们设计了两个不同类型的取值。一个用来组合字符串,另一个用来计算幂(杨幂的幂)

    特别说明:

    get里面,第一个参数是django默认把变量进行了类似{'name': name}的包装,所以都是带引号的变量;

    第二个参数是默认值,当没有进行赋值时,使用默认值;

    如果赋值会直接报错,默认值无效

    # 编写一个函数,尝试从url里捕获值,并显示到一个返回页面中
    # 想能够处理任意url会比较麻烦,我们假设处理一种限定格式的url
    def test_get(request):
        name = request.GET.get('name', 'guest')
        gender = request.GET.get('gender', 'unknown')
        return HttpResponse('%s的性别是:%s' % (name, gender))
    
    
    # 使用同样的方式,计算任意次方,a的n次方
    def test_power(request):
        a = request.GET.get('a', 0)
        n = request.GET.get('n', 0)
        result = int(a) ** int(n)
        return HttpResponse('%s的%s次方是%d' % (a, n, result))
    

    2、按格式书写url

    from django.urls import path
    from . import views
    
    urlpatterns = [
        path('test_get/', views.test_get, name='test_get'),
        path('test_power/', views.test_power, name='test_power'),
    ]
    

     可以看见,在test_urls.py里的设置没有任何特殊,只需要指向views的对应函数即可,要做的只是在最后加上?x=x&y=y

    如果输入:http://127.0.0.1:8000/test_app/test_get/?name=赵丽颖&gender=女

    回车得到页面,里面显示为:赵丽颖的性别是:女

    如果输入:http://127.0.0.1:8000/test_app/test_power/?a=12&n=4

    回车得到页面,里面显示为:12的4次方是20736

  • 相关阅读:
    算法基础<七> 加权有向图
    union 分页/group/join 复杂查询(.net core/framework)
    扩展Elasticsearch客户端简化ES查询(.net core/framework)
    对EF Core进行扩展使支持批量操作/复杂查询
    Grpc对象转proto代码工具
    扩展ADO.net实现对象化CRUD(.net core/framework)
    Sublime Text 4 破解笔记
    python三元表达式(三目运算符)的坑
    xaf-常见问题解答
    xaf.blazor中如何开启诊断按钮
  • 原文地址:https://www.cnblogs.com/lzhshn/p/11386429.html
Copyright © 2011-2022 走看看