应用Django模板的基本思想是将数据和表现层分离,即后端逻辑与前端展示分离
步骤 1: 创建项目和应用
首先,确保你已经安装了Django。然后创建一个新的Django项目和一个应用。
django-admin startproject myproject
cd myproject
python manage.py startapp myapp
步骤 2: 设置模板目录
在myproject
目录下,创建一个名为templates
的文件夹。Django会自动查找每个应用下的templates
文件夹。
myproject/
│
├── myproject/
│ ├── ...
│ └── settings.py
├── manage.py
└── myapp/
├── ...
└── views.py
在myproject/settings.py
中设置模板目录:
TEMPLATES = [
{
# ...
'DIRS': [os.path.join(BASE_DIR, 'myproject/templates')],
# ...
},
]
步骤 3: 创建模板文件
在myapp/templates
目录下,创建一个HTML模板文件,例如index.html
。
<!-- myapp/templates/index.html -->
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>My Django App</title>
</head>
<body>
<h1>{
{ title }}</h1>
<p>Welcome to my Django app!</p>
</body>
</html>
在这个模板中,{
{ title }}
是一个变量,它将在视图函数中被赋值。
步骤 4: 编写视图函数
在myapp/views.py
中,编写一个视图函数来渲染模板,并传递数据。
from django.shortcuts import render
def index(request):
context = {
'title': 'My Django App Template',
}
return render(request, 'index.html', context)
步骤 5: 配置URL
在myproject/urls.py
和myapp/urls.py
中配置URL,以便访问这个视图。
# myproject/urls.py
from django.urls import path, include
urlpatterns = [
path('myapp/', include('myapp.urls')),
]
# myapp/urls.py
from django.urls import path
from . import views
urlpatterns = [
path('', views.index, name='index'),
]
步骤 6: 运行服务器
运行Django开发服务器,然后在浏览器中查看结果。
python manage.py runserver
打开浏览器,访问http://127.0.0.1:8000/myapp/
,你将看到页面上显示了My Django App
的标题和欢迎信息。
模板继承示例
模板继承允许你创建一个基础模板,并在其他模板中扩展它。以下是一个简单的示例:
父模板(base.html)
<!-- myapp/templates/base.html -->
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>{% block title %}My Django App{% endblock %}</title>
</head>
<body>
{% block content %}
{% endblock %}
</body>
</html>
子模板(index.html)
<!-- myapp/templates/index.html -->
{% extends "base.html" %}
{% block title %}My Custom Title{% endblock %}
{% block content %}
<h1>Welcome to My Custom Page</h1>
<p>This is the content of my custom page.</p>
{% endblock %}