模版文件夹及配置
在项目结构为:
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文件夹和HelloWorld文件夹为同一级,项目结构为:
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
`-- h.html
其中h.html内主体代码为:
<h1>do you like wanyouxi?</h1>
<h2>{{ hello }}</h2>
<h3>{{ item }}</h3>
注意:用双大括号括起来的是变量,如果在view.py中未加入对该值的修改,将不会显示。
在写完模版后,需要设定模版的路径,在HelloWorld/setting.py中,修改TEMPLATES中的DIRS为[BASE_DIR+“/templates”,]
TEMPLATES = [
{
'BACKEND': 'django.template.backends.django.DjangoTemplates',
'DIRS': [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',
],
},
},
]
修改view.py中的代码,传入h.html需要的变量。
def hello(request):
context = dict()
context['hello'] = 'biubiubiu'
context['item'] = 'the item is %s' % 2
return render(request, 'h.html', context)
可以看到,我们这里使用 render 来替代之前使用的 HttpResponse。render 还使用了一个字典 context 作为参数。
context 字典中元素的键值 “hello” 对应了模板中的变量 “{{ hello }}“。