zoukankan      html  css  js  c++  java
  • Django视图(一)

    Django视图(一)

    一、 概述

    作用:视图接受web请求,并相应请求

    本质:视图是自定义的一个python中的函数

    响应内容:正常视图,重定向视图,错误视图(404,500,400)

    响应过程:

    二、 url配置

    配置流程

    一般在创建项目时Django会默认将根级配置文件配置好。配置位置在工程文件夹下的settings.py文件里ROOT_URLCONF = '工程名.urls'
    第二级url配置在工程文件夹下的urls.py文件里的urlpatterns列表里。eg:urlpatterns = [
        path('admin/', admin.site.urls),
       
    path('应用名/',include('应用名.urls'))
    ]
    第三级url配置在应用文件夹下的urls.py文件里。eg: 
    from django.urls import path
    from 应用名 import views
    urlpatterns = [
       
    path('news/',views.news),
    ]
    访问该url时应输入:127.0.0.1:8000/应用名/news
    在需要正则表达式时需注意如果想要从url中获取一个值时,需要对正则加小括号;匹配正则前方不用加反斜杠;正则前需要加‘r’表示字符串。

    url的反向解析

    三、 视图函数

    1、       概述

    其本质是一个函数,一般在views.py文件中定义。用于将url和模版文件还有返回浏览器的数据联系在一起。

    2、       错误视图

    404视图:

    只需要在template目录创建404.html并将settings.py文件中的DEBUG改为False,ALLOWED_HOSTS = [*]。在404.html文件里写{{request_Path}}可以直接在前端显示用户访问的url。

    四、 HttpRequest对象

    1、       概述

    服务器接收http请求后,会根据报文创建HttpRequest对象;视图函数的第一个参数就是HttpRequest对象;它是Django创建的,在调用视图时传递给视图。

    2、       属性

    path:请求的完整路径(不包括域名和端口)

    method:表示请求的方法,GET,POST

    encoding:表示浏览器提交的数据的编码方式(一般为utf-8)

    GET:类似字典的对象,包含了get请求的所有参数

    POST:类似字典的对象,包含了post请求的所有参数

    FILES:类似字典的对象,包含了所有上传的文件

    cookies:字典类型,包含了所有cookie

    session:字典类型,表示当前会话

    3、       方法

    is_ajax:如果是通过XMLHttpRequest发起的,返回Ture

    4、       QuertDict对象

    request对象中的GET、POST都属于该对象。

    get():根据键索取值,只能取一个值

    getlist():将键的值以列表的形式返回,可以取多个值。

    五、 HttpResponse对象

    1、       概述:

    用于给浏览器返回数据。与HttpRequest对象的区别是,HttpResponse对象是程序员创建的。

    2、       用法

    分为两种,一种是不调用模版,直接返回数据;另一种是,调用模版,使用render方法。语法是render(request,templateName,[context])。request:请求对象,templateName:模版路径,[context]:传给模版的数据。
    eg:
    def news(request):
        s = 'you'
        return render(request,"news.html",{"obj":s})

    3、       属性

    content:表示返回的内容模型

    charset:编码格式

    status_code:响应状态码,200,400,500,404

    content-type:指定输出的MIME类型

    4、       方法

    init:使用页面内容实例化HttpReponse对象

    write(content):以文件的形式写入

    flush:以文件的形式输出,刷新缓存区

    set_cookie(key,value=’’,max_age=None,exprise=None)

    delete_cookie(key):删除cookie。如果删除一个不存在的cookie,就会当什么也没有发生一样。

  • 相关阅读:
    git add 添加错文件 撤销
    ArcMap中对失量数据将具有相同的字段的元素进行合并
    win10系统黑屏无法显示桌面解决
    C#
    git push的时候报错: Out of memory, malloc failed (tried to allocate 82037333 bytes)
    在abp core中出现运行项目时EF获取到的appsetting.json或者appsettings.Production.json中的连接字符串为空
    navicat连接数据库报错:未发现数据源名称并且未指定默认驱动程序
    HDU
    HDU
    HDU
  • 原文地址:https://www.cnblogs.com/xshan/p/8333840.html
Copyright © 2011-2022 走看看