Python的web框架Django的路由参数,locals()函数,反向解析,错误页面处理(6)

路由参数

想要使用get请求,在地址上传参数时需要在urls进行配置

url(r'^getSongById/(\d+)/',views.getSongById)
#此处(\d+)是正则匹配数字

之后在方法中加入接收参数,并进行逻辑编写

def getSongById(request,id):

    print(id)

    song = Song.objects.filter(id=id)

    print(song.values())

    return HttpResponse("success")

locals()函数

locals()函数,可以将逻辑内所有参数进行打包

def getExtends(request):

    context ={
        "name":"sola"
    }

    age='66'
    #使用locals()函数,可以直接将逻辑内,所有句柄进行打包里面已包含context与age
    return render(request,"home_two.html",context=locals())

 html,可以直接进行调用

{% extends "home.html" %}
{% load static %}

{% block header %}
   {% comment %} 可用super调用{% endcomment %}
    {{ block.super }}
    <h1>进行增量增加</h1>
    {{ age }}
    {{ context.name }}
{% endblock %}

{% block cssBlock %}
{#    <link rel="stylesheet" type="text/css" href="/static/css/basecss.css">#}
      <link rel="stylesheet" type="text/css" href={% static "css/basecss.css" %}>
{% endblock %}

————————————————————————————————————————————————————————

传递多个参数

配置路由

urlpatterns = [
               url(r'^getMoreEl/(\d+)/(\d+)/(\d+)/', views.getMoreEl)
               ]

实现方法

def getMoreEl(request,nonum,age,sex):

    content = {
                "nonum":nonum,
                "age":age,
                "sex":sex
              }

    return HttpResponse(json.dumps(content))

地址调用

指定参数名 

#指定参数名
urlpatterns = [
               url(r'^getMoreEl/(?P<nonum>\d+)/(?P<age>\d+)/(?P<sex>\d+)/', views.getMoreEl)
               ]

反向解析

https://blog.csdn.net/weixin_42575020/article/details/81671299

错误界面处理

https://blog.51cto.com/wenxi123/2114765

发布了143 篇原创文章 · 获赞 255 · 访问量 18万+

猜你喜欢

转载自blog.csdn.net/jiulanhao/article/details/103117527