对DJango视图(views)和模版(templates)的使用详解


Posted in Python onJuly 17, 2019

视图

在django中,视图对WEB请求进行回应

视图接收reqeust对象作为第一个参数,包含了请求的信息

视图就是一个Python函数,被定义在views.py中

定义完成视图后,需要配置urlconf,否则无法处理请求

在Django中,定义URLconf包括正则表达式、视图两部分

Django使用正则表达式匹配请求的URL,一旦匹配成功,则调用应用的视图

注意:只匹配路径部分,即除去域名、参数后的字符串

在test1/urls.py插入booktest,使主urlconf连接到booktest.urls模块

视图代码

# views.py
# 一个简单的视图,固定返回 hrllo world
def index(request):
  return HttpResponse('hello world')

模板

模板是html页面,可以根据视图中传递的数据填充值

模板和应用booktest是同级目录

模板的结构templates/应用名(booktest)/*.html

将模板的地址信息拼接在settings.py文件中的TEMPLATES的DIRS值中:'DIRS': [os.path.join(BASE_DIR, ‘templates')],

urls代码

方式一: 直接修改原始的urls

# fanlie/fanlei/urls.py
from django.conf.urls import include, url
from django.contrib import admin
from booktest import views

urlpatterns = [
  url(r'^admin/', include(admin.site.urls)),
  # 如果匹配的是空就就调用views.index返回首页
  url(r'^$',views.index),
]

方式二: 在应用目录下修改

# fanlie/fanlei/urls.py
urlpatterns = [
  url(r'^admin/', include(admin.site.urls)),
  # 什么都不干直接去booktest.urls去找相应的匹配
  url(r'^',include('booktest.urls')),
]

# fanlei/booktest/urls.py
from django.conf.urls import url
from . import views

urlpatterns = [
  # js结尾就是调用视图中的函数 js
  url(r'.*.js',views.js),
  # 直接访问代表是首页,调用视图中的函数index
  url(r'^$', views.index),
  # 如果是image开头的代表是图片,直接让DJango去打开对应的图片返回
  url(r'^images/(?P<path>.*)', 'django.views.static.serve', {'document_root':'/home/python/Desktop/fanlei/templates/booktest/images'}),

]

上面模板用到的视图

from django.shortcuts import render

def index(request):
  # 返回引号中的文件的内容
  return render(request, 'booktest/index.html')

def js(request):
  # 返回引号中的文件的内容
  return render(request,'booktest/jquery-1.12.4.js')

以上这篇对DJango视图(views)和模版(templates)的使用详解就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持三水点靠木。

Python 相关文章推荐
Python中输出ASCII大文字、艺术字、字符字小技巧
Apr 28 Python
python实现中文分词FMM算法实例
Jul 10 Python
python实现井字棋游戏
Mar 30 Python
Python+matplotlib实现计算两个信号的交叉谱密度实例
Jan 08 Python
Python3.6笔记之将程序运行结果输出到文件的方法
Apr 22 Python
python移位运算的实现
Jul 15 Python
python实现对服务器脚本敏感信息的加密解密功能
Aug 13 Python
pytorch1.0中torch.nn.Conv2d用法详解
Jan 10 Python
django模型动态修改参数,增加 filter 字段的方式
Mar 16 Python
python 解决Fatal error in launcher:错误问题
May 21 Python
大数据分析用java还是Python
Jul 06 Python
python获取淘宝服务器时间的代码示例
Apr 22 Python
react+django清除浏览器缓存的几种方法小结
Jul 17 #Python
在Pycharm中调试Django项目程序的操作方法
Jul 17 #Python
在Django model中设置多个字段联合唯一约束的实例
Jul 17 #Python
对django views中 request, response的常用操作详解
Jul 17 #Python
python自带tkinter库实现棋盘覆盖图形界面
Jul 17 #Python
python递归法解决棋盘分割问题
Jul 17 #Python
Django-Model数据库操作(增删改查、连表结构)详解
Jul 17 #Python
You might like
PHP实现JS中escape与unescape的方法
2016/07/11 PHP
kindeditor 加入七牛云上传的实例讲解
2017/11/12 PHP
JS动画效果代码3
2008/04/03 Javascript
javascript 面向对象全新理练之数据的封装
2009/12/03 Javascript
一个可绑定数据源的jQuery数据表格插件
2010/07/17 Javascript
javascript相等运算符与等同运算符详细介绍
2013/11/09 Javascript
jquery全选checkBox功能实现代码(取消全选功能)
2013/12/10 Javascript
JavaScript用Number方法实现string转int
2014/05/13 Javascript
JavaScript中的方法调用详细介绍
2014/12/30 Javascript
js显示文本框提示文字的方法
2015/05/07 Javascript
js实现导航栏中英文切换效果
2017/01/16 Javascript
vue.js实现单选框、复选框和下拉框示例
2017/07/18 Javascript
基于Vue实例生命周期(全面解析)
2017/08/16 Javascript
javaScript 连接打印机,打印小票的实例
2017/12/29 Javascript
vue脚手架及vue-router基本使用
2018/04/09 Javascript
微信小程序非swiper组件实现的自定义伪3D轮播图效果示例
2018/12/11 Javascript
JS简单判断是否在微信浏览器打开的方法示例
2019/01/08 Javascript
前端vue+elementUI如何实现记住密码功能
2020/09/20 Javascript
Python发送email的3种方法
2015/04/28 Python
Python函数式编程
2017/07/20 Python
python中栈的原理及实现方法示例
2019/11/27 Python
python爬虫添加请求头代码实例
2019/12/28 Python
python解释器安装教程的方法步骤
2020/07/02 Python
Python json解析库jsonpath原理及使用示例
2020/11/25 Python
HTML5 离线应用之打造零请求、无流量网站的解决方法
2013/04/25 HTML / CSS
Algenist奥杰尼官网:微藻抗衰老护肤品牌
2017/07/15 全球购物
工业设计专业推荐信
2013/10/29 职场文书
少儿节目主持串词
2014/04/02 职场文书
旅游专业毕业生自荐书
2014/06/30 职场文书
2014年秋季新学期寄语
2014/08/02 职场文书
安全教育日主题班会
2015/08/13 职场文书
党员理论学习心得体会
2016/01/21 职场文书
Python机器学习之基于Pytorch实现猫狗分类
2021/06/08 Python
浅谈Python数学建模之数据导入
2021/06/23 Python
HTML+CSS实现导航条下拉菜单的示例代码
2021/08/02 HTML / CSS
详解nginx安装过程并代理下载服务器文件
2022/02/12 Servers