Django-模板

系统环境:win7 bit64 Anaconda2

Django版本:1.8.16
前面都是用简单的 django.http.HttpResponse 来把内容显示到网页上,本节将讲解如何使用渲染模板(*.html)的方法来显示内容。

1.新建项目和app

2.修改app视图

在myapp/views.py中写一个首页视图

from django.shortcuts import render

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

3.新建模板

在myapp目录下建立templates文件夹,里面新建home.html

<!DOCTYPE html>
<html>
<head>
    <title>NetBook</title>
</head>
<body>
welcome to netbook!
</body>
</html>

4.将视图函数对应到网址

更改myproject/urls.py

from django.conf.urls import include, url
from django.contrib import admin
from myapp import views as myapp_views


urlpatterns = [
    url(r'^$', myapp_views.home, name='home'),
    url(r'^admin/', include(admin.site.urls)),
]

5.运行服务器,查看效果

6.模板补充知识

  • 网站模板设计,都有通用部分。可以写一个base.html包含通用文件。home.html可以继承或扩展base.html
  • 为避免同名模板查找错误,在templates文件夹中建立一个app同名的文件夹,查找时有app作为名称的一部分,就不会混淆。

7.模板进阶

向模板传递变量,修改views.py

# -*- coding: utf-8 -*-
from django.shortcuts import render


def home(request):
    string = u"我在学习Django,用它来建网站"
    return render(request, 'home.html', {'string': string})

字符串string被传给home.html,在hime.html调用string

{{string}}

传递列表,view.py

def home(request):
    TutorialList = ["HTML", "CSS", "jQuery", "Python", "Django"]
    return render(request, 'home.html', {'TutorialList': TutorialList})

home.html

教程列表:
{% for i in TutorialList %}
{{ i }}
{% endfor %}

使用for循环输出列表内容。

总结一下:一般的变量之类的用 {{ }}(变量),功能类的,比如循环,条件判断是用 {% %}(标签)

参考:http://www.ziqiangxuetang.com/django/django-template.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值