对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对小数进行除法运算的正确方法示例
Aug 25 Python
Python 爬虫爬取指定博客的所有文章
Feb 17 Python
Python网络爬虫与信息提取(实例讲解)
Aug 29 Python
微信跳一跳python代码实现
Jan 05 Python
pytorch + visdom CNN处理自建图片数据集的方法
Jun 04 Python
python3第三方爬虫库BeautifulSoup4安装教程
Jun 19 Python
对python特殊函数 __call__()的使用详解
Jul 02 Python
Django model update的多种用法介绍
Mar 28 Python
python plotly画柱状图代码实例
Dec 13 Python
python3+selenium获取页面加载的所有静态资源文件链接操作
May 04 Python
python读取xml文件方法解析
Aug 04 Python
在vscode中启动conda虚拟环境的思路详解
Dec 25 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 has encountered an Access Violation 错误的解决方法
2010/01/17 PHP
PHP加Nginx实现动态裁剪图片方案
2014/03/10 PHP
Apache服务器下防止图片盗链的办法
2015/07/06 PHP
php实现表单多按钮提交action的处理方法
2015/10/24 PHP
客户端静态页面玩分页
2006/06/26 Javascript
jquery日历插件datepicker用法分析
2016/01/22 Javascript
D3.js封装文本实现自动换行和旋转平移等功能
2016/10/14 Javascript
js实现点击图片自动提交action的简单方法
2016/10/16 Javascript
jQuery中$.ajax()方法参数解析
2016/10/22 Javascript
jquery表单验证插件validation使用方法详解
2017/01/20 Javascript
详解webpack+vue-cli项目打包技巧
2017/06/17 Javascript
jquery插件开发之选项卡制作详解
2017/08/30 jQuery
本地搭建微信小程序服务器的实现方法
2017/10/27 Javascript
jQuery插件jsonview展示json数据
2018/05/26 jQuery
微信小程序使用二次贝塞尔曲线画波浪
2018/12/25 Javascript
js删除数组中某几项的方法总结
2019/01/16 Javascript
浅谈JavaScript面向对象--继承
2019/03/20 Javascript
使用js在layui中实现上传图片压缩
2019/06/18 Javascript
vue Tab切换以及缓存页面处理的几种方式
2019/11/05 Javascript
原生js拖拽功能制作滑动条实例代码
2021/02/05 Javascript
Tensorflow简单验证码识别应用
2017/05/25 Python
python读取csv文件并把文件放入一个list中的实例讲解
2018/04/27 Python
mac安装pytorch及系统的numpy更新方法
2018/07/26 Python
python实现逐个读取txt字符并修改
2018/12/24 Python
解决pycharm每次打开项目都需要配置解释器和安装库问题
2020/02/26 Python
HTML5实现移动端点击翻牌功能
2020/10/23 HTML / CSS
美国一家运动专业鞋类零售商:Warehouse Shoe Sale(WSS)
2018/03/28 全球购物
外语学院毕业生的自我鉴定
2013/11/28 职场文书
办公室文书岗位职责
2013/12/16 职场文书
矫正人员思想汇报
2014/01/08 职场文书
干部行政关系介绍信
2014/01/17 职场文书
幼儿园园长个人总结
2015/03/02 职场文书
2015学生会文艺部工作总结
2015/04/03 职场文书
简述python四种分词工具,盘点哪个更好用?
2021/04/13 Python
pytorch 一行代码查看网络参数总量的实现
2021/05/12 Python
Pytorch可视化的几种实现方法
2021/06/10 Python