以下是关于“Python的Django框架中TEMPLATES项的设置教程”的完整攻略,内容包含两条示例说明:
1. 什么是 Django Templates?
Django Templates 是 Django 框架中的模板引擎,用于构建网站的用户界面。
2. 如何在 Django 中设置 TEMPLATES?
在 Django 中,TEMPLATES 变量通过设置 BASE_DIR 和 os 模块中的 join() 方法来定义。
# settings.py
# 设置模板目录
TEMPLATES_DIR = os.path.join(BASE_DIR, 'templates')
# 设置 Django 模板引擎
TEMPLATES = [
{
'BACKEND': 'django.template.backends.django.DjangoTemplates',
'DIRS': [TEMPLATES_DIR],
'APP_DIRS': True,
'OPTIONS': {
'context_processors': [
'django.template.context_processors.debug',
'django.template.context_processors.request',
'django.contrib.auth.context_processors.auth',
'django.contrib.messages.context_processors.messages',
],
},
},
]
以上代码中:
TEMPLATES_DIR
存放模板的目录;BACKEND
引擎设为 Django 自带的后端;DIRS
设置一个可包含模板的目录列表;APP_DIRS
则是告知 django 在每个应用目录下寻找模板文件(即该应用在 INSTALLED_APPS 中被添加或已经被调用)。
3. 示例1:如何编写 Django 模板?
通过以下代码来理解创建一个模板并插入数据:
<!-- hello.html -->
<!doctype html>
<html>
<head>
<title>Hello World!</title>
</head>
<body>
<h1>Hello, {{ name }}!</h1>
<p>Welcome to my Django website.</p>
</body>
</html>
上述代码使用 {{ name }}
占位符来传递参数。在以下视图中展示该模板:
# views.py
from django.shortcuts import render
def hello(request):
return render(request, 'hello.html', {'name': 'William'})
render()
函数将请求、模板名称和一个字典作为参数,该字典包含要传递到模板中的值。- 该视图将视图返回为响应对象,该响应对象包括渲染的模板、请求上下文和模板渲染上下文。
4. 示例2:如何扩展模板?
借助 extends 标签来扩展模板,如以下代码所示:
<!-- base.html -->
<!doctype html>
<html>
<head>
<title>{% block title %}{% endblock %}</title>
</head>
<body>
<h1>{% block content %}{% endblock %}</h1>
<p>Welcome to my Django website.</p>
</body>
</html>
在此基础上,可以方便地扩展出想要的新模板:
<!-- child.html -->
{% extends "base.html" %}
{% block title %}
About Me
{% endblock %}
{% block content %}
<p>Hi, my name is William.</p>
{% endblock %}
- 将
base.html
扩展到新页面child.html
。 - 使用块来标记新页面中不同于基模板的部分。
- 在新页面中,使用
extends
改变标题和内容。
希望这篇攻略对你有所帮助!
本站文章如无特殊说明,均为本站原创,如若转载,请注明出处:Python的Django框架中TEMPLATES项的设置教程 - Python技术站