慕课网-Django入门到进阶-更适合Python小白的系统课程-第2章Django中的路由与视图-2-3视图的讲解

第2章 Django中的路由与视图

2-3 视图的讲解

强行将视图分三部分

1.用户的请求 request

2.对用户请求的逻辑处理 handler

3.将处理后的数据返回给用户 response

用户的请求对象 request

1.浏览器向服务器发送的请求对象,包含用户信息,请求内容和请求方法

2.dir(request)查看 request 对象的所有方法

常用的 request 对象的方法

1.request.GET -> 获取 url 上 ? 形式的参数

2.request.POST -> 获取 post 提交的数据

3.request.path -> 请求的路径,比如请求 127.0.0.1/test/1,那这个值就是 /test/1

4.request.method -> 请求的方法 get or post

5.request.COOKIES -> 请求过来的 cookies

6.request.user -> 请求的用户对象,可以通过它判断用户是否登录,并获取用户信息

7.request.session -> 一个即可读又可写的类似于字典的对象,表示当前的会话

8.request.META -> 一个标准的 Python 字典,包含所有的 HTTP 首部。具体的头部信息取决于客户端和服务器(有很多信息)

常用的返回对象

1.HttpResponse 可以直接返回一些字符串内容

2.render 将数据在模板中渲染并显示

3.JsonResponse 返回一个 json 类型 通常用于与前端进行 ajax 交互

from django.http import HttpResponse
from django.shortcuts import render
from django.http import JsonResponse

视图面向对象的写法

from django.views.generic import view
Class Test(View):
    def get(self, request):
        return xxx

 

实例

1.进入项目下目录 two,修改文件 views.py,添加一个 Index 类

#coding:utf-8

from django.views.generic import View
from django.http import HttpResponse

class Index(View):
    def get(self, request, name, age):
        return HttpResponse('hello, i am {0}, age is {1}'.format(name, age))

2.进入项目下目录 app,添加文件 urls.py,修改应用的路由

#coding:utf-8
from django.urls import path
from .views import Index

urlpatterns = {
    path('<str:name>/<int:age>', Index.as_view(), name = 'index')
}

3.测试

4. 进入项目下目录 two,修改文件 views.py,查看 request 的方法

#coding:utf-8

from django.views.generic import View
from django.http import HttpResponse

class Index(View):
    def get(self, request, name, age):
        print(dir(request))
        return HttpResponse('hello, i am {0}, age is {1}'.format(name, age))

5.查看

posted on 2020-01-13 05:34  herisson_pan  阅读(12)  评论(0)    收藏  举报

导航