对DJango视图(views)和模版(templates)的使用详解
作者:fanlei5458 时间:2021-05-30 00:37:51
视图
在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
标签:DJango,视图,views,模版,templates
0
投稿
猜你喜欢
使用pandas模块实现数据的标准化操作
2023-04-12 06:30:03
Python中的下划线详解
2021-10-24 14:17:32
Redux saga异步管理与生成器详解
2023-07-24 02:53:52
SQL Server 的T-SQL高级查询详解
2024-01-17 21:21:04
使用Python实现BT种子和磁力链接的相互转换
2022-12-21 04:33:25
Python如何实现远程方法调用
2022-11-11 20:42:15
sql中时间以5分钟半个小时任意间隔分组的实现方法
2024-01-25 04:23:39
IE Cookie文件格式说明
2023-03-13 17:17:22
总结Go语言中defer的使用和注意要点
2024-02-07 01:48:19
Python中的rfind()方法使用详解
2022-05-05 21:30:54
php模板引擎技术简单实现
2023-11-14 13:28:37
使用pandas实现筛选出指定列值所对应的行
2023-05-06 18:29:53
python3发送邮件需要经过代理服务器的示例代码
2023-07-27 01:00:44
Python matplotlib绘图建立画布及坐标系
2021-03-28 02:56:07
Anaconda+VSCode配置tensorflow开发环境的教程详解
2021-04-03 09:47:32
python 从文件夹抽取图片另存的方法
2022-08-26 13:00:55
mysql数据库创建账号、授权、数据导出、导入操作示例
2024-01-26 06:44:42
Python进程间通信 multiProcessing Queue队列实现详解
2021-06-17 18:53:59
如何让利用Python+AI使静态图片动起来
2022-06-06 08:15:31
Javascript 同时提交多个Web表单的方法
2024-04-19 10:06:45