Django模板


前言

在中我们使用 django.http.HttpResponse() 来输出 "欢迎来到主页"。该方式将数据与视图混合在一起,不符合 Django 的 MVC 思想。

本章节我们将为大家详细介绍 Django 模板的应用,模板是一个文本,用于分离文档的表现形式和内容

模板应用案例

1、在myapp目录底下创建 templates 目录并建立 welcome.html文件,整个目录结构如下:

myapp/
|-- myapp
|   |-- __init__.py
|   |-- __init__.pyc
|   |-- settings.py
|   |-- settings.pyc
|   |-- urls.py
|   |-- urls.pyc
|   |-- views.py
|   |-- views.pyc
|   |-- wsgi.py
|   `-- wsgi.pyc
|-- manage.py
`-- templates
    `-- welcome.html

welcome.html 文件代码如下:

DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>首页title>
head>
<body>
    欢迎来到接口测试平台首页
body>
html>

2、向Django说明模板文件的路径

修改HelloWorld/settings.py,修改 TEMPLATES 中的 DIRS 为 [os.path.join(BASE_DIR, 'templates')],如下所示:

TEMPLATES = [
    {
        'BACKEND': 'django.template.backends.django.DjangoTemplates',
        'DIRS': [os.path.join(BASE_DIR,'templates')],#修改位置
        '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',
            ],
        },
    },
]

3、修改 views.py,增加一个新的对象,用于向模板提交数据

from django.shortcuts import render


def welcome(request):
    return render(request, 'welcome.html')

4、进行URL 配置

绑定 URL 与视图函数。打开 urls.py 文件,如下代码

from django.contrib import admin
from django.urls import path
from django.conf.urls import url
from django.urls import re_path
from . import views


urlpatterns = [
    path('admin/', admin.site.urls),
    re_path('welcome/', views.welcome),
]

5、验证

 这样我们就完成了使用模板来输出数据,从而实现数据与视图分离

其他

1、美化

html模板里面增加一些样式,显示更加好看,如下:

DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>首页title>
head>
<body>

    <div style="background-color : grey;text-align:center">
            <h1 style="color:green">欢迎来到接口测试平台首页h1>
    div>
body>
html>

效果:

 2、模板中常用的语法规则

详情请查看菜鸟教程