初学djang浅谈

    初学djang浅谈(二)

目录

初学djang(二)... 1

关于django视图模板... 2

什么是MVT. 2

视图操作... 2

关于RESTFUL请求... 2

关于request对象... 3

关于Response. 3

关于django的静态文件处理... 3

模块继承说明及优势... 4

路由的核心操作... 4

 

关于django视图模板

Django是一个实现了MVT处理模式的、功能全面强大、主要应用于企业级wed中型项目开发应用。

什么是MVT

Mvt( 数据模型视图模板):
       M:model数据模型

       V:view 视图

       T:template 模板

MVT 是在MVC 处理模式的基础上衍生出来的一种处理模型,将控制器c 部分封装了路由配置,通过MV之间的路由映射关系完成的复杂发的功能,通过冲用模板T来 达到了视图的复用,泳衣提高开发效率的过程。

视图操作

视图函数就是在软件是与用户交互的一部分,其界面的重要性以及操作功能的完整性需要非常高的保障,一个完整的视图操作,增加其用户的视觉感受,从而大大加强用户的体验。

关于视图函数操作的模块

from django.http import HttpResponse

|-- 其在前端与后端的交互中数据,适合传输字符串 速度快

导入一个解析模板的 loader 对象

 from django.template import loade

              |-- # 使用 loader 加载页面,注意路径问题,

# loader 会自动去 templates 文件夹下查询页面

引入需要的 render 对象

from django.shortcuts import render

                     |-- # render 函数可以将视图快速返回

关于RESTFUL请求

当前的技术,进行数据传输到服务器的主要有两种方式,一种是传统的 get 或者 post

协议中携带数据,一种就是最近比较流行的 RESTful 方式,RESTful 参数处理,就是通过将参 数包含在 URL 地址中 作为地址的一部分出现

Django 也实现了 RESTful 风格发送参数是将参数包含在 url 地址中,所以参数的接收 定义就会在路由中进行配置,参数的配置接收主要有两种方式如下,我们推荐第二种方式:

 ➢ 第一种方式:位置参数

 ➢ 第二种方式:关键字参数

关于request对象

Request 是 web 开发中的请求头对象,它携带者请求者的大多数信息,这些信息有些是 我们需要的。  首先在视图处理函数中,第一个参数被 Django 自动设置成了包含浏览器发送的请求 数据的请求对象,对于请求对象 Request,有如下的属性值得我们思考。

➢ path: 一个表示完整访问路径的字符串,不包含域名,就是 URI

➢ method:一个表示请求方式的字符串

➢ encoding:一个表示请求编码方式的字符串

➢ GET:一个像 dict 的对象,包含了 get 方式请求的所有参数数据

➢ POST: 一个像 dict 的对象,包含了 post 方式请求的所有参数数据  

➢ FILES: 一个像 dict 的对象,包含了所有的上传的文件 

➢ COOKIES:一个字典对象,包含所有的 cookie 值 

➢ session:一个 like dict 对象,用于表示当前会话,Django 启用会话支持时可 用

关于Response

Django 中的 Response 响应对象,主要用来进行浏览器响应数据的处理。 响应数据的处理包括两部分:响应对象本身和响应返回视图操作

响应对象的属性和方法操作

属性操作

content 响应的数据内容

charset 数据编码格式

status_code HTTP 响应状态码

content-type 指定输出内容类型 方法操作

init() 使用网页内容创建 HttpResponse 对象

write(content) 以文件的方式写入数据 flush() 以文件的方式刷新推送数据 set_cookie(k,v,m_a,e) 设置 cookie 中存储数据  k:key,变量名称  v:value,变量中存放的值  m_a:max_age,

cookie 过期时间,单位秒

e:expires,过期时间 datetime 类型s

 

 

 

 

关于django的静态文件处理

的静态资源,其实 Django 默认是在子模块下的 static 文件夹中,注意:static 和 上面 templates 文件夹同级别,为了隔离路径,建议在 static 下再创建一个子模块名称的文件.

模块继承说明及优势

我们发现,一般项目中,大多数页面都是存在共同部分的如果页面的 头部和尾部。如果每个页面都去写,显得代码冗余,其次就是突然有天需要修改,都有需要修改,不利于开发和维护,所以我们一般会将这些共有部分抽取出来,作为一个模板,让其 他页面继承这个模板,这个就是模板继承。

 

➢ 变量的展示 -- mustache 语法  {{变量}}   {{对象.属性名称}}

➢ 标签{% %}  程序结构

⚫ 选择结构 {% if 条件 %}

{% elif 条件 %}

{% else %}

{%endif%}

⚫ 循环结构  {% for 变量 in 列表%}  

{% empty %}  {% endfor %} 

其他标签 {% csrf_token %}

{% block %}

{% load %}

{% url %}

{% static %}

➢ 注释部分  单行注释 {# 注释的内容 #} 

多行注释  {% comment %} 

需要注释的内容 {% endcomment %}

➢ 过滤器  {{变量 | 过滤器}}

路由的核心操作

路由操作重定向(redirect)

                    之前我们使用的都是转发请求,就是一个路由路径,对应一个视图函数,视图函数返回 一个模板,展示数据,完成整个操作。但是在真实的开发中,我们也经常遇到一个请求,对 应一个视图函数,该函数完成功能之后,需要跳转到下一个视图函数中。如登录。  登录我们首先提交数据到登录视图函数,登录视图函数验证登录成功,之后需要访问首 页面,而首页面我们直接访问肯定不行(因为首页需要首页的视图函数加载数据的!),这个 时候需要从登录视图函数完成后进入到首页视图函数,完成首页数据加载

我们就需要一种 新的跳转方式---重定向(redirect)。

 一般重定向是不需要传递参数的,如果必须传递参数,建议使用 kwargs 的命名方式传 递(推荐)或者 args 的占位方式传递。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值