4.Django视图

1.概况

Django 中的视图的概念是「一类具有相同功能和模板的网页的集合」。比如,在一个新闻应用中,你可能会创建如下几个视图:

  • 新闻首页列表---展示最新最近的几条新闻
  • 新闻详情--详细展示内容
  • 等等

上一节我们已经展示过hello https://litets.com这就是一个视图。
广泛一点的理解就是:处理一个具体的用户请求,把结果返回的方法。

拿我们上节的例子:

from django.http import HttpResponse
# Create your views here.

def index(request):
    return HttpResponse('hello https://litets.com'

第一行:我们导入必要的类。
接下来第一了一个index函数,参数request代表了网络的请求,然后返回HttpResponse代表了响应。

2.request

request类型是HttpRequest,api介绍:

  • HttpRequest.scheme 返回http或https
  • HttpRequest.body 请求体
  • HttpRequest.path 路径 即/index
  • HttpRequest.method 请求方法 get post等
  • HttpRequest.encoding 编码方式
  • HttpRequest.content_type 请求内容的类型
  • HttpRequest.content_params key/value
  • HttpRequest.COOKIES cookies
  • HttpRequest.headers 请求头
    http
    path:/index/
    method:GET
    COOKIES:{}

3.HttpResponse

  • HttpResponse.content 返回内容
  • HttpResponse.charset 字符集
  • HttpResponse.status_code 状态码 200 404等
  • HttpResponse.closed 如果设置true连接将关闭

  • set_cookie() 设置cookie

4.URL

上节我们还在urls.py中添加了一行path('index/', index)这就是告诉Django当我们访问/index的时候那个视图(方法)来处理。
实际就是一种对应关系。
path()函数代表了浏览器地址栏的路径。

  • 第一个参数是正则,根据path匹配对应的视图,
  • 第二个参数 就是具体的视图处理函数

5.实战一下

看完上面的讲解,我们来自己尝试一下。最好自己先试试。 编辑views.py

# 添加下面代码
def viewstest(request):
    return HttpResponse('这是我自己的view')

修改urls.py

from news.views import index,viewstest

urlpatterns = [
    path('admin/', admin.site.urls),
    path('index/', index),
    path('viewstest/', viewstest)
]

重启服务器。
TIPS:修改代码,服务器通常会自动检测修改,然后自动重启
在地址栏输入:http://127.0.0.1:8888/viewstest 查看结果

6.总结

本节我们主要讲了下视图和网址的基础概念,没有什么特别深奥的东西。重复多次,记住就可以了。

7.下一节

5.Django URL详解

声明:原创文章,版权所有,转载请注明出处,https://litets.com。