Django模板⽬录配置
Django 模板
在上⼀章节中我们使⽤ django.http.HttpResponse() 来输出"Hello World!"。该⽅式将数据与视图混合在⼀起,不符合Django的MVC思想。本章节我们将为⼤家详细介绍 Django 模板的应⽤,模板是⼀个⽂本,⽤于分离⽂档的表现形式和内容。
模板应⽤实例
我们接着上⼀章节的项⽬将在 HelloWorld ⽬录底下创建 templates ⽬录并建⽴ hello.html⽂件,整个⽬录结构如下:
HelloWorld/
|-- HelloWorld
|  |-- __init__.py
|  |-- __init__.pyc
|  |-- settings.py
|  |-- settings.pyc
|  |-- urls.py
|  |-- urls.pyc
|  |-- view.py
|  |-- view.pyc
|  |-- wsgi.py
|  `-- wsgi.pyc
|-- manage.py
`-- templates
`-- hello.html
hello.html ⽂件代码如下:
<h1>{{ hello }}</h1>
从模板中我们知道变量使⽤了双括号。
接下来我们需要向Django说明模板⽂件的路径,修改HelloWorld/settings.py,修改 TEMPLATES 中的 DIRS 为
[BASE_DIR+"/templates",],如下所⽰:
TEMPLATES = [
{
'BACKEND': 'plate.backends.django.DjangoTemplates',
'DIRS': [BASE_DIR+"/templates",],
'APP_DIRS': True,
'OPTIONS': {
'context_processors': [
't_processors.debug',
'quest',
't_processors.auth',
'ssages',
],
},
},
]
django项目实例
我们现在修改 view.py,增加⼀个新的对象,⽤于向模板提交数据:
# -*- coding: utf-8 -*-
#from django.http import HttpResponse
from django.shortcuts import render
def hello(request):
context          = {}
context['hello'] = 'Hello World!'
return render(request, 'hello.html', context)
可以看到,我们这⾥使⽤render来替代之前使⽤的HttpResponse。render还使⽤了⼀个字典context作为参数。 context 字典中元素的键值 "hello" 对应了模板中的变量 "{{ hello }}"。
再访问访问192.168.45.3:8000/hello/,可以看到页⾯:
这样我们就完成了使⽤模板来输出数据,从⽽实现数据与视图分离。

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。