zoukankan      html  css  js  c++  java
  • Django学习之-带参数的路由应用

    一、简单使用

    浏览器(客户端)发出请求时,有时会传递参数给视图函数,以实现补充请求信息的作用,这时就要在路由配置项中加上URL参数,这个参数会被对应的视图函数接收。

    """mysite URL Configuration
    
    The `urlpatterns` list routes URLs to views. For more information please see:
        https://docs.djangoproject.com/en/3.2/topics/http/urls/
    Examples:
    Function views
        1. Add an import:  from my_app import views
        2. Add a URL to urlpatterns:  path('', views.home, name='home')
    Class-based views
        1. Add an import:  from other_app.views import Home
        2. Add a URL to urlpatterns:  path('', Home.as_view(), name='home')
    Including another URLconf
        1. Import the include() function: from django.urls import include, path
        2. Add a URL to urlpatterns:  path('blog/', include('blog.urls'))
    """
    from django.contrib import admin
    from django.urls import path
    from polls import views as views1
    
    urlpatterns = [
        path('admin/', admin.site.urls),
        path('test/', views1.test),
        path('getinfo/', views1.getinfo),
        path('hello/<int:year>/<int:month>', views1.hello),
    
        # path(r'^test/', views1.test)
    ]
    
    import json
    
    from django.shortcuts import render
    from django.shortcuts import HttpResponse
    from django.shortcuts import HttpResponseRedirect
    
    # Create your views here.
    
    def test(request):
        # return HttpResponse("hello world!")
        return render(request,'test.html')
    
    def getinfo(request):
        data = request.POST.get('data')
        print(type(data))
        data = json.loads(data)
        print(data)
        print(type(data))
        id1 = data['id1']
        id2 = data['id2']
        id3 = int(id1)+int(id2)
        return HttpResponse(str(id3))
    
    def hello(request,year,month):
        #参数是int类型,转换为字符串
        year1 = str(year) + '年'
        month1 = str(month) + '月'
        data = {'year':year1,'month':month1}
        #通过render函数向前端页面传递变量year和month
        return render(request,'hello.html',data)
    
    
    hello.html
    <!DOCTYPE html>
    <html lang="en">
    <head>
        <meta charset="UTF-8">
        <title>带参页面</title>
    </head>
    <body>
        <h2 align="center">带参URL页面</h2>
    <!--    传入的变量year和month,名字要和视图函数中render()传递的变量名一致-->
        <p align="center">URL传入参数:1是{{year}}, 2是{{month}}</p>
    </body>
    </html>

  • 相关阅读:
    如何在Ubuntu 20.04 LTS Focal Fossa上安装Webmin
    如何在Linux服务器上创建一个具有管理权限的新用户?
    如何在Ubuntu 20.04 LTS上安装Apache Subversion
    error more than one devices and emulator
    深度学习+CRF解决NER问题
    word2vec训练&IC分词(待)
    tensorflow基础
    (转)pycharm快捷键
    Python包的相对导入时出现问题解决
    python工具使用笔记
  • 原文地址:https://www.cnblogs.com/like1824/p/15437632.html
Copyright © 2011-2022 走看看