对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的tkinter布局之简单的聊天窗口实现方法
Sep 03 Python
Python cx_freeze打包工具处理问题思路及解决办法
Feb 13 Python
详解Python中的array数组模块相关使用
Jul 05 Python
python使用opencv进行人脸识别
Apr 07 Python
Python实现的爬虫功能代码
Jun 24 Python
python中文件变化监控示例(watchdog)
Oct 16 Python
对Python中DataFrame按照行遍历的方法
Apr 08 Python
Python实现的维尼吉亚密码算法示例
Apr 12 Python
python pandas 如何替换某列的一个值
Jun 09 Python
linux环境下安装python虚拟环境及注意事项
Jan 07 Python
Python ini文件常用操作方法解析
Apr 26 Python
用 python 进行微信好友信息分析
Nov 28 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下foreach提示Warning:Invalid argument supplied for foreach()的解决方法
2014/11/11 PHP
Apache无法自动跳转却显示目录的解决方法
2020/11/30 PHP
php实时倒计时功能实现方法详解
2017/02/27 PHP
封装了一个js图片轮换效果的函数
2011/09/28 Javascript
JavaScript解析json格式数据简单示例
2014/12/09 Javascript
js实现最短的XML格式化工具实例
2015/03/12 Javascript
js实现支持手机滑动切换的轮播图片效果实例
2015/04/29 Javascript
javascript 判断当前浏览器版本并判断ie版本
2017/02/17 Javascript
如何通过非数字与字符的方式实现PHP WebShell详解
2017/07/02 Javascript
理解 javascript 中的函数表达式与函数声明
2017/07/07 Javascript
vue兄弟组件传递数据的实例
2018/09/06 Javascript
js实现简单进度条效果
2020/03/25 Javascript
100行python代码实现跳一跳辅助程序
2018/01/15 Python
Ubuntu下使用python读取doc和docx文档的内容方法
2018/05/08 Python
Python打包方法Pyinstaller的使用
2018/10/09 Python
python安装gdal的两种方法
2019/10/29 Python
使用Keras实现Tensor的相乘和相加代码
2020/06/18 Python
深入浅析python 中的self和cls的区别
2020/06/20 Python
Python unittest基本使用方法代码实例
2020/06/29 Python
python 实现一个简单的线性回归案例
2020/12/17 Python
法国在线宠物店:zooplus.fr
2018/02/23 全球购物
EMPHASIS艾斐诗官网:周生生旗下原创精品珠宝品牌
2020/12/17 全球购物
业务经理岗位职责
2013/11/11 职场文书
个人充满哲理的自我评价
2014/02/20 职场文书
中学生操行评语大全
2014/04/24 职场文书
初三学习计划书范文
2014/04/30 职场文书
2015届大学生就业推荐表自我评价
2014/09/27 职场文书
2014基建处领导班子“四风”对照检查材料思想汇报
2014/10/04 职场文书
三好学生个人总结
2015/02/15 职场文书
学习保证书100字
2015/02/26 职场文书
2015年防汛工作总结
2015/05/15 职场文书
入党积极分子半年考察意见
2015/06/02 职场文书
学雷锋感言
2015/08/03 职场文书
小学语文继续教育研修日志
2015/11/13 职场文书
JS轻量级函数式编程实现XDM二
2022/06/16 Javascript
基于Python实现西西成语接龙小助手
2022/08/05 Golang