对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 list 合并连接字符串的方法
Mar 09 Python
Python 字典(Dictionary)操作详解
Mar 11 Python
Python的time模块中的常用方法整理
Jun 18 Python
Python heapq使用详解及实例代码
Jan 25 Python
Python遍历某目录下的所有文件夹与文件路径
Mar 15 Python
python如何生成网页验证码
Jul 28 Python
python实现集中式的病毒扫描功能详解
Jul 09 Python
PyTorch中常用的激活函数的方法示例
Aug 20 Python
Python代码生成视频的缩略图的实例讲解
Dec 22 Python
通过Python扫描代码关键字并进行预警的实现方法
May 24 Python
Python urllib2运行过程原理解析
Jun 04 Python
详解OpenCV曝光融合
Apr 29 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注入实例
2006/10/09 PHP
2.PHP入门
2006/10/09 PHP
php生成扇形比例图实例
2013/11/06 PHP
搭建Vim为自定义的PHP开发工具的一些技巧
2015/12/11 PHP
PHP实现将base64编码字符串转换成图片示例
2018/06/22 PHP
JavaScript入门教程(5) js Screen屏幕对象
2009/01/31 Javascript
关于用Jquery的height()、width()计算动态插入的IMG标签的宽高的问题
2010/12/08 Javascript
html5的自定义data-*属性和jquery的data()方法的使用示例
2013/08/21 Javascript
JavaScript 动态加载脚本和样式的方法
2015/04/13 Javascript
不同js异步函数同步的实现方法
2016/05/28 Javascript
jQuery与JavaScript节点创建方法的对比
2016/11/18 Javascript
node.JS路径解析之PATH模块使用方法详解
2020/02/06 Javascript
React Native登录之指纹登录篇的示例代码
2020/11/03 Javascript
python+matplotlib绘制简单的海豚(顶点和节点的操作)
2018/01/02 Python
利用python将pdf输出为txt的实例讲解
2018/04/23 Python
基于tensorflow加载部分层的方法
2018/07/26 Python
Python发展简史 Python来历
2019/05/14 Python
python实现控制电脑鼠标和键盘,登录QQ的方法示例
2019/07/06 Python
Python 写入训练日志文件并控制台输出解析
2019/08/13 Python
解决django无法访问本地static文件(js,css,img)网页里js,cs都加载不了
2020/04/07 Python
python正则表达式 匹配反斜杠的操作方法
2020/08/07 Python
深入剖析HTML5 内联框架iFrame
2016/05/04 HTML / CSS
英国天然保健品网站:Simply Supplements
2017/03/22 全球购物
找到您丢失的钥匙、钱包和手机:Tile
2017/05/19 全球购物
Engel & Bengel官网:婴儿推车、儿童房家具和婴儿设备
2019/12/28 全球购物
总裁助理岗位职责
2014/02/17 职场文书
小组合作学习反思
2014/02/18 职场文书
户外活动总结范文
2014/04/30 职场文书
八荣八耻的活动方案
2014/08/16 职场文书
信息合作协议书
2014/10/09 职场文书
2015年教育实习工作总结
2015/04/24 职场文书
幼儿园小班开学寄语
2015/05/27 职场文书
结婚纪念日感言
2015/08/01 职场文书
2016年师德师风学习心得体会
2016/01/12 职场文书
Django路由层如何获取正确的url
2021/07/15 Python
Python Django模型详解
2021/10/05 Python