Django 的路由层 视图层 模板层】的更多相关文章

Django请求周期 url ->  路由系统  ->函数或者类 -> 返回字符串 或者 模板语言 Form表单提交: 点击提交 -> 进入url系统  ->  执行函数或者类的方法 - > 返回字符串 ajax提交: 路由url 1.path('index/', views.index),一个url对应一个函数 2.path('home/', views.Home.as_view()),一个url对应一个类 3.url(r'^detail-(\d+).html',vi…
Django基础三之路由.视图.模板 目录 Django基础三之路由.视图.模板 1. Django 请求和返回周期 1.1 路由层之路由匹配 1.2 有名分组 1.3 无名分组 2. 反射解析 3. 路由分发 4 名称空间 5. JsonResponse 6. 上传文件 7. FBV和CBV 8. 模板语法传值 8.1 传基本数据类型 8.2 传函数名 8.3 传类名 9. 模板语法获取值 10. 模板语法过滤器 11. 模板语法标签(流程控制) 12. 自定义过滤器.标签.inclusion…
前情提要: 今天继续学习Django 的内容, 今天主要和渲染相关 1>配置路由 >2:写函数 >3 指向url 一:路由层 1:配置静态支持文件 1:路由层的简单配置 >django 1 版本 >django 2 版本 用path   2:无名分组 注意: 若要从URL 中捕获一个值,只需要在它周围放置一对圆括号. 不需要添加一个前导的反斜杠,因为每个URL 都有.例如,应该是^articles 而不是 ^/articles. 每个正则表达式前面的'r' 是可选的但是建议加…
视图views django中的视图就是用来定义函数来处理一些逻辑的核心地方. django中通过urls来建立路径跟views中的视图函数的映射关系. urls中的映射关系 ''' urlpatterns = [ url(正则表达式, views视图函数,参数,别名), ] 参数说明: 一个正则表达式字符串 一个可调用对象,通常为一个视图函数或一个指定视图函数路径的字符串 可选的要传递给视图函数的默认参数(字典形式) 一个可选的name参数 ''' 注意: 一旦匹配成功则不再继续 若要从URL…
视图 在django中,视图对WEB请求进行回应 视图接收reqeust对象作为第一个参数,包含了请求的信息 视图就是一个Python函数,被定义在views.py中 #coding:utf- from django.http import HttpResponse def index(request): return HttpResponse("index") def detail(request,id): return HttpResponse("detail %s&qu…
视图层 小白必会三板斧(三个返回的都是HttpResponse对象,通过看源码,可以知道是内部实现) 1.HttpResponse # 返回字符串 2.render # 返回一个html页面 还可以给模板传递 from django.template import Template,Context def index(request): res = Template("<h1> {{ user }} </h1>") con = Context({'user':{…
目录导航 Django 路由控制 Django 视图层 Django 模版层 Django 路由控制 URL配置(URLconf)就像Django 所支撑网站的目录.它的本质是URL与要为该URL调用的视图函数之间的映射表:你就是以这种方式告诉Django,对于客户端发来的某个URL调用哪一段逻辑代码对应执行 1.)简单的路由配置 from django.conf.urls import url urlpatterns = [ url(正则表达式, views视图函数,参数,别名), ] 正则表…
一 路由系统进阶(urls.py) 动态路由 urls.py中通过正则表达式的分组匹配,捕获用户访问的url中的值,传递给视图函数1 分组匹配(通过圆括号): 相当于给视图函数传递 位置参数 例子: from django.conf.urls import url from . import views urlpatterns = [ url(r'^articles/2003/$', views.special_case_2003), url(r'^articles/([0-9]{4})/$',…
Python的WEB框架有Django.Tornado.Flask 等多种,Django相较与其他WEB框架其优势为:大而全,框架本身集成了ORM.模型绑定.模板引擎.缓存.Session等诸多功能. 本文将以下方面带大家全面了解Django框架,本章使用的版本为1.11. 流程 基本配置 路由系统 视图view 模板 Model Form 分页 Cookie Seesion admin 一. Django流程介绍 MVC是众所周知的模式,即:将应用程序分解成三个组成部分:model(模型),v…
--------------------------------------------------------------通过苦难,走向欢乐.——贝多芬 Django-2的路由层(URLconf)   URL配置(URLconf)就像Django 所支撑网站的目录.它的本质是URL与要为该URL调用的视图函数之间的映射表:你就是以这种方式告诉Django,对于客户端发来的某个URL调用哪一段逻辑代码对应执行. 简单的路由配置 from django.urls import path,re_pa…
一.Django-1版本的路由层(URLconf) URL配置(URLconf)就像Django所支撑网站的目录.它的本质是URL与要为该URL调用的视图函数之间的映射表:我们就是以这种方式告诉Django,对于客户端发来的某个URL该调用哪一段逻辑代码对应执行. 1. 简单的路由配置 from django.conf.urls import url from .import views urlpatterns = [ url(r'^articles/2003/$', views.special…
1.Django的路由层 URL配置(URLconf)就像Django所支撑网站的目录.它的本质是URL与要为该URL调用的视图函数之间的映射表:我们就是以这种方式告诉Django,对于客户端发来的某个URL该调用哪一段逻辑代码对应执行. (1).简单的路由配置 from django.contrib import admin from django.urls import path, re_path from blog import views urlpatterns = [ path('ad…
目录 视图层 小白必会三板斧 HttpResponse render redirect JsonResponse 前后端分离 FBV CBV 给CBV加装饰器 模板层 模板语法 模板传值 过滤器 语法结构 前后端取消转义 for if 联合使用 自定义过滤器和标签 必须要先有三步准备: 使用自定义过滤器 自定义标签 自定义inclusion_tag 模板的继承 模板的导入 视图层 小白必会三板斧 HttpResponse 返回字符串 render 返回HTML页面 redirect 重定向 视图…
目录 视图层 render方法是Template和Contex两个对象的组合使用 JsonResponse对象 CBV及源码分析 CBV 加装饰器的方式 模板层 模板语法传值 模板语法 变量 过滤器(Filters) 标签 自定义过滤器和标签 自定义过滤器 自定义标签 自定义inclusion_tag 模板的继承 模板的导入 路由:视图函数的内存地址 视图层 render方法是Template和Contex两个对象的组合使用 from django .template import Templa…
目录 一.网站首页和404页面的路由配置 1. 网站首页路由 2. 404页面 二.Django视图层 1. 小白必会三板斧 (1)HttpResponse (2)render (3)redirect 2. JsonResponse (1)前后端分离后数据的交互 (2)前后端序列化和反序列化 (3)python的json模块的特点 (4)JsonResponse的序列化特点 3. FBV与CBV (1)FBV(基于函数的视图) (2)CBV (基于类的视图) (3)CBV源码的功能流程 4. 给…
FBV与CBV 视图函数并不只是指函数,也可以是类 FBV:基于函数的视图,类似面向函数式编程 CBV:基于类的视图,类似面向对象编程 研究解析render源码: render:返回html页面:并且能够给该页面传值 分析:FBV视图原理 from django.shortcuts import render,HttpResponse # Create your views here. from django.template import Template,Context # FBV解析 de…
路由层 首先我们来看一下,路由层都有哪些东西,其实你看django很人性化,将所有的介绍都放在了简介里面,不信,你看…
目录 一.视图层 1. 小白必会三板斧 2. JsonResponse 3. FBV与CBV 3.1 FVB 3.2 CBV 4. CBV的源码 5. 给CBV加装饰器 二.模板层 1. 模板语法 2. 模板传值/取值 3. 过滤器 4. 标签 (逻辑相关) 5. 自定义过滤器和标签 5.1 如何自定义过滤器 5.2 自定义过滤器的使用 6. 模板的继承 7. 模板的导入 一.视图层 1. 小白必会三板斧 HttpResponse render redirect 视图函数必须要有一个返回值,并且…
视图函数 一个视图函数,简称视图,是一个简单的Python 函数,它接受Web请求并且返回Web响应.响应可以是一张网页的HTML内容,一个重定向,一个404错误,一个XML文档,或者一张图片. . . 是任何东西都可以.无论视图本身包含什么逻辑,都要返回响应.代码写在哪里也无所谓,只要它在你的Python目录下面:为了将代码放在某处,约定是将视图放置在项目或应用程序目录中的名为views.py的文件中. 视图请求对象 request对象:包含所有的请求信息(浏览器给服务器发过来的是一堆字符串)…
目录 Django基础之视图(views)层.模板层 JsonResponse 向前端返回一个json格式字符串的两种方式 重写Django中的json的某个方法 form表单上传文件 FBV与CBV FBV CBV最精髓的部分 Django settings源码分析及实际应用 模板传值 过滤器(|) 标签 前端if 标签 前端for标签 前端with标签 自定义过滤器.标签 自定义的过滤器 自定义标签 自定义的过滤器和自定义标签 模板的继承 模板的导入 Django请求生命周期 Django基…
昨日内容回顾 相关命令: 1 创建项目 django-admin startproject 项目名称 2 创建应用 python manage.py startapp app名称 3 启动项目 python manage.py runserver IP PORT 步骤1,2都是下载过程,下载一些需要的代码.不写IP和端口,默认是8000端口 请求流程: 1 url:http://127.0.0.1:8000/index/ 2 path("index",views.index) # in…
Django的模板层 如果我们想要利用视图函数返回一个页面,一种比较简单的方式是利用HttpResponse()方法返回一个含有html内容的字符串: def current_datetime(request): now = datetime.datetime.now() html = "<html><body>It is now %s.</body></html>" % now return HttpResponse(html) 尽管这…
1. Django的路由解析: 是从上往下进行匹配的 url(r'index', views.index) #这里的index 解析都可以被解析到的, abcindex index indexabc url(r'^index', views.index) #这里的index 解析是index indexabc url(r'^index/$', views.index) #这里的index 解析是精确解析 只有index 才可以被解析 例题: url(r'index/', views.index)…
一丶Django 的路由层(URLconf) URL配置(URLconf)就像Django 所支撑网站的目录.它的本质是URL与要为该URL调用的视图函数之间的映射表:你就是以这种方式告诉Django,对于客户端发来的某个URL调用哪一段逻辑代码对应执行. from django.conf.urls import url from . import views urlpatterns = [ url(r'^articles/2003/$', views.special_case_2003), u…
表关系的建立方式 表与表之间的关系就三种 一对一 OneToOne(to='') # to后面可以跟字符串的表名 也可以直接跟变量名表名(该表名必须在上面提前定义出来) 一对多 ForeignKey(to='') 多对多 ManyToMany(to='') 自己一定要会三种关系的推导步骤 以及建表的注意事项 一对一和多对多外键字段 建在哪一方都可以 但是推荐你建在查询频率较高的一方 以便后续的orm查询 一对多外键字段 建在多的那一方 一对一和一对多外键字段 在创建表的时候回自动加_id后缀 无…
Django框架-路由层 一.URL配置(URLconf) 1.基本格式 from django.conf.urls import url urlpatterns = [ url(正则表达式, views视图函数,参数,别名), ] 2.参数说明 正则表达式:一个正则表达式字符串 views视图函数:一个可调用对象,通常为一个视图函数或一个指定视图函数路径的字符串 参数:可选的要传递给视图函数的默认参数(字典形式) 别名:一个可选的name参数 二.关于正则表达式(来自官方文档) from dj…
三板斧 render,HttpResponse,redirectrender返回一个HTML页面,并且还能够给该页面传数据render内部原理: from django.template import Template,Context def index(request): temp = Template('<h1>{{ user }}</h1>') con = Context({'}}) res = temp.render(con) print(res) return HttpR…
路由层之路由匹配 """路由你可以看成就是出去ip和port之后的地址""" url()方法 1.第一个参数其实是一个正则表达式 2.一旦第一个参数匹配到了内容直接结束匹配 执行对应的视图函数 url(r'^test/$',views.test), 无名分组 url(r'^test/\d+/$',views.test), # 正则表达式分组:给正则表达式前后加一个小括号 url(r'^test/(\d+)/$',views.test), &quo…
模板层 将Python嵌入到HTML中. 模板简介 将HTML硬解码到视图并不是那么完美原因如下: 对页面设计时也需要对python代码进行相应的修改,模板可以不就行python代码修改的情况下变更设计. 编写python和HTML设计是两项不同的工作,应该明确分工. 两项同时进行效率最高. 模板:HTML代码+模板语法 def current_time(req): # ================================原始的视图函数 # import datetime # now…
每一个Web框架都需要一种很便利的方法用于动态生成HTML页面. 最常见的做法是使用模板. 模板包含所需HTML页面的静态部分,以及一些特殊的模版语法,用于将动态内容插入静态部分. 说白了,模板层就是如何往HTML文件中填入动态内容的系统. 1. 模板的由来 你可能已经注意到我们在例子视图中返回文本的方式有点特别. 也就是说,HTML被直接硬编码在 Python代码之中. def current_datetime(request): now = datetime.datetime.now() h…