首页 > 学院 > 开发设计 > 正文

Django-模板

2019-11-07 23:40:24
字体:
来源:转载
供稿:网友

系统环境:Win7 bit64 Anaconda2

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

1.新建项目和app

2.修改app视图

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

from django.shortcuts import renderdef 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, urlfrom django.contrib import adminfrom myapp import views as myapp_viewsurlpatterns = [ 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 renderdef 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


发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表