Django视图与模板配置详解:从views到templates的完整指南
本文详细解析Django中视图与模板的核心用法。介绍如何定义接收request的Python函数,配置正则匹配的URLconf以连接视图。涵盖模板目录结构、settings.py中DIRS路径设置,以及主URL与应用URL的两种配置方式,帮助开发者快速掌握Django Web请求处理流程。
Django视图基础
视图
在Django框架中,视图负责处理并回应Web请求。
每个视图函数接收一个request对象作为首个参数,该对象包含了客户端发送的请求详细信息。
视图本质上是定义在views.py文件中的Python函数。
完成视图定义后,必须配置URLconf(URL配置),否则Django无法将请求路由到对应的视图。
在Django中,定义URLconf主要包含两个部分:正则表达式和对应的视图函数。
Django通过正则表达式来匹配用户请求的URL,一旦匹配成功,系统便会调用相应的应用视图进行处理。
需要注意的是,URLconf仅匹配URL的路径部分,即不包含域名和查询参数(query string)的字符串。
在test1/urls.py文件中插入对booktest应用的引用,从而将主URLconf连接到booktest.urls模块。
视图代码
# views.py
# 一个简单的视图,固定返回 hrllo world
def index(request):
return HttpResponse('hello world')
Django模板配置
模板
模板通常是HTML页面,它可以根据视图中传递的数据动态填充内容。
模板目录应与应用目录(如booktest)保持同级关系。
模板的标准目录结构为templates/应用名(booktest)/*.html。
需要在settings.py文件的TEMPLATES配置项中,将模板地址拼接至DIRS列表中,具体配置为:'DIRS': [os.path.join(BASE_DIR, ‘templates')]。
URLconf配置方式
URL配置代码
方式一:直接修改项目原始的urls.py文件。
# 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),
]
方式二:在具体的应用目录下单独维护urls.py文件。
# 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视图和模板的使用详解即为全部内容,希望能对读者有所帮助,也欢迎大家继续支持本站。
本站声明
本文内容仅供参考,不代表本站观点。转载或引用请注明出处。如发现内容问题,请通过联系我们页面反馈。













