对DJango视图(views)和模版(templates)的使用详解
作者:fanlei5458 发布时间:2021-05-30 00:37:51
标签:DJango,视图,views,模版,templates
视图
在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')
来源:https://blog.csdn.net/fanlei5458/article/details/80260449


猜你喜欢
- 本文实例讲述了Python使用multiprocessing创建进程的方法。分享给大家供大家参考。具体分析如下:进程可以通过调用multip
- 本文实例讲述了Django框架首页和登录页分离操作。分享给大家供大家参考,具体如下:1.登录模板login.html<!DOCTYPE
- 前言在 Go 语言中,Goroutine 和 Channel 是非常重要的并发编程概念,它们可以帮助我们解决并发编程中的各种问题。关于它们的
- Django开发过程中如果数据库变动过多导致migrations的文件越来越多,管理起来很不方便, 幸运的是Django提供了一种方式可以是
- 在定向爬虫的制作过程中,使用分布式爬取技术可以显著提高爬取效率。而 Redis 配合 Scrapy 是实现分布式爬取的基础。Redis 是一
- 如何用METADATA替换ADOVBS.INC? 在ASP中,使用组件时,如ADO,得先包含
- asp之字符串函数示例用字符串函数对字符串进行截头去尾、大小写替换等操作。函数语 * 能LenLen(string|varname)返回字符串
- 前言在开始之前,对time.After使用有疑问的朋友们可以看看这篇文章:https://www.aspxhome.com/article/
- 首先你要明白24bit的bmp图片的基本信息:1像素占3个字节,头部占54个字节。好了,现在开始做验证码了,这里以4位验证码(大小为20(高
- 1.如果有ID字段,就是具有唯一性的字段 代码如下:delect table where id not in ( select max(id
- 本文实例讲述了python使用datetime模块计算各种时间间隔的方法。分享给大家供大家参考。具体分析如下:python中通过dateti
- 通过win32 COM接口实现软件的操作本质上来看跟直接操作软件一致,这跟我之前经常用的通过各种扩展的组件或者库实现各种文件的处理有较大的差
- 奥运来了,三大门户网站都加上了奥运主题。加上下面代码你的网站也拥有奥运主题了:<style type="text/
- 本文为大家分享了Python机器学习之K-Means聚类的实现代码,供大家参考,具体内容如下1.K-Means聚类原理K-means算法是很
- 1、下载安装包-根据自己电脑系统选择合适的版本:https://dev.mysql.com/downloads/mysql/2、配置环境变量
- 通过官方文档https://docs.djangoproject.com/zh-hans/3.1/topics/db/multi-db/和c
- --******************************************************* --* 清空所有表中的数
- 速查表是帮你记住东西的有效工具。Web设计师和开发者经常使用的快捷键简表会使他们在网上的工作效率大大提高。事实上,速查表就是来帮助我们把日常
- 安装很简单pip install psutil官网地址为:https://pythonhosted.org/psutil/ (文档上有详细的
- 本文实例讲述了python异常和文件处理机制。分享给大家供大家参考,具体如下:1 异常处理Python的异常用tryexceptfinall