2020.1.10 url中的参数及其获取url上的信息以及视图层的讲解

1.1url中的参数

在Url后边用?开始 ,键与值用等号链接,每对键值用&号区分,如:
http://127.0.0.1:8000/app?name=dewei&age=30
在路由的参数中用分隔符分开,如:
http://127.0.0.1:8000/aoo/dewi/30

1.2django2的url变量类型

字符串类型:匹配任何非空字符串,但不包含斜杠,在不指定类型的前提下,默认字符串类型
示例:str:name
整形:匹配0和正整数int:age
slug: 可理解为注释,后缀或附属等概念slug:ady
uuid:匹配一个uuid格式的对象uuid:uid类似xxx-xx-xx

1.3支持url类型的方法

from django.urls import path 2.0以后新方法
from django.conf.urls import url 2.0以前方法,不支持参数中的类型,只能通过正则表达式的方法进行基本匹配
两种方法写法不同,不能兼容

1.4

2020.1.10 url中的参数及其获取url上的信息以及视图层的讲解

1.5为url设置别名

path(‘add’,view_function, name=‘add’)
别名可以在重定向和模板定义的时候直接用别名代替

视图读取参数
?形式读取(前文)-> request.GET.get(参数名)
2020.1.10 url中的参数及其获取url上的信息以及视图层的讲解
2020.1.10 url中的参数及其获取url上的信息以及视图层的讲解
2020.1.10 url中的参数及其获取url上的信息以及视图层的讲解
以分隔符形式的参数
def index(requsst,参数名,参数名)
print(参数名)
2020.1.10 url中的参数及其获取url上的信息以及视图层的讲解
2020.1.10 url中的参数及其获取url上的信息以及视图层的讲解
2020.1.10 url中的参数及其获取url上的信息以及视图层的讲解
个人经历:在进行分隔符参数的提取时,网页报错:匹配不到对应的文本信息。
修改方法:在功能的urls中修改ptah第一个参数 app/

2视图层的讲解

2.1强行将视图分三部分
用户的请求 request
(request:浏览器向服务器发送的请求对象,包含用户信息,请求内容和请求方法
dir(request)查看request对象的所有方法)
对用户请求的逻辑处理 handler
将处理后的数据返回给用户

常用的request对象的方法:

  1. request.GET -->获取url上?形式的参数
    2.request.POST–>获取post提交的数据
  2. request.path -->请求的路径,比如请求127.0.0.1/test/1,那这个值就是/test/1
  3. request.method -->请求的方法 get or post
    6.request.COOKIES -->请求过来的cookoes(浏览器的缓存数据)
  4. request.user -->请求的用户对象,可以通过它判断用户是否登陆,并获取用户细腻些
    8 .request.session -->一个即可读又可写的类类似于字典的对象,表示当前的会话
  5. request.META -->一个标准的python字典,包含所有的HTTP首部。具体的头部信息取决于客户端和服务器
    常用的返回对象
    HttpResponse 可以直接返回一些字符串内容
    render 将数据在模板中渲染并显示
    JsonResponse返回一个Json类型 通常用于与前端进行ajax交互
    导入方法:
    from django.http import HttpResponse
    from django.shortcuts import render
    from django.http import JsonResponse

通常view视图都是面向对象的写法:
2020.1.10 url中的参数及其获取url上的信息以及视图层的讲解
2020.1.10 url中的参数及其获取url上的信息以及视图层的讲解