`

djano(2)模版

 
阅读更多

静态模版

[root@localhost app0904]# mkdir templates
[root@localhost app0904]# cd templates
[root@localhost templates]# vim home.html

<html>
<head>
  <title>test</title>
</head>
<body>
hello word!
</body>
</html>

[root@localhost app0904]# vim views.py

from django.shortcuts import render
from django.http import HttpResponse
from django.template import loader
def main(request):
  t=loader.get_template('home.html')
  return HttpResponse(t.render())

 动态化

 

[root@localhost app0904]# vim views.py

from django.shortcuts import render
from django.http import HttpResponse
from django.template import loader,Context
class Person(object):
  def __init__(self,name,age):
    self.name=name
    self.age=age

def main(request):
  t=loader.get_template('home.html')
  user={"name":"xiaoming","age":22}
  p=Person('xiaoming',12)
  li=['python','java']
  c=Context({"title":"hello word!","user":user,'person':p,'li':li})
  return HttpResponse(t.render(c))



[root@localhost templates]# vim home.html 

<html>
<head>
  <title>{{title}}</title>
</head>
<body>
hello word!i am {{user.name}},my age is {{user.age}}!!
<br />
my friend name is {{person.name}},age is {{person.age}}!!
<br />
lessons:<br />
  <li>{{li.0}}</li>
  <li>{{li.1}}</li>
</body>
</html>

 

 

Django的模板渲染(render)机制

 

一旦你创建一个 Template 对象,你可以用 context 来传递数据给它。 一个context 是一系列变量和它们值的集合。

t.render(c) 返回的值是一个 Unicode 对象,不是普通的 Python 字符串。 你可以通过字符串前的 u 来区分。

Django 对 Unicode 的支持,将让你的应用程序轻松地处理各式各样的字符集,而不仅仅是基本的A-Z英文字符。

 

捷径django.shortcuts包 

 

from django.shortcuts import render



class Person(object):
  def __init__(self,name,age):
    self.name=name
    self.age=age


def main(request):
  user={'name':'xiaoming','age':12}
  p=Person('xx',3)
  li=['p','a']
  return render(request,'home.html',{'title':'hello world','user':user,'person':
p,'li':li})

 

 

分享到:
评论

相关推荐

    djano博客实战项目

    2. **视图(View)**:视图是处理用户请求并返回响应的部分。在博客系统中,视图可能包括显示所有文章、展示单篇文章、添加新文章、发表评论等功能。视图通常会从模型中获取数据,并决定如何呈现这些数据给用户。 3...

    djano入门与镜头

    2. **视图(Views)**:视图是处理HTTP请求并返回响应的地方。它们通常负责获取数据、处理逻辑,然后调用模板生成HTML内容。 3. **模板(Templates)**:模板系统是Django的一个强大特性,它允许开发者用纯文本和...

    djano一对一、多对多、分页实例代码

    文章中描述的`Boy2Girl`模型就是一个多对多关系的例子。每个`Boy`可以关联到多个`Girl`,同时每个`Girl`也可以关联到多个`Boy`。多对多字段通过中间表来实现这种关系。 ### Django ORM高级查询 Django的ORM提供了一...

    django1.6支持python3

    Python 3是从Python 2.x系列的重大升级,引入了许多语法改进和性能优化,旨在解决Python 2.x的一些设计限制。Django 1.6的发布,使得开发者可以在新版本的Python环境下构建Web应用,享受到更现代的语言特性。 ...

    django-2.1.3 最新官方文档

    2. 模板(Template):模板系统用于生成HTML或其他类型的输出,允许开发者和设计师分离代码和设计。它支持变量替换、条件语句、循环和继承等功能。 3. 视图(View):视图是应用程序的逻辑中心,接收HTTP请求,处理...

    django输出html内容的实例

    2. 使用`autoescape`标签。在模板中,可以通过`autoescape`标签关闭或开启HTML转义。如果要在一个代码块中输出HTML而不进行转义,可以这样做: ```django {% autoescape off %} {{ data }} {% endautoescape %} ``...

    django-vuex-coreui-free-vue-admin-template:包含VueJS和Vuex的Django项目。 基于Coreui Free Vue管理模板

    django-vuex 该项目仅将VueJS和Vuex用作静态Django文件。 并使用。 如何运行项目? npm run build生成仅与Django一起运行的文件。 克隆此存储库。... 使用Python 3创建virtualenv。...source .venv/bin/ac

    heroku-flask:用于将flask应用程序部署到heroku的模板

    用于将flask应用程序部署到heroku的模板。 为创建。 要求 免费的heroku帐户 在本地安装和设置heroku cli 指示 克隆存储库 git clone https://github.com/bonartm/heroku-flask.git cd heroku-flask 创建一个新的...

    Django {{ MEDIA_URL }}无法显示图片的解决方式

    在使用Django框架进行Web应用开发时,可能会遇到在模板中使用`{{ MEDIA_URL }}`无法显示图片的问题。这个问题通常是由于配置不正确或者上下文处理器缺失导致的。下面我们将详细探讨这个问题及其解决方案,并补充相关...

    Django中日期处理注意事项与自定义时间格式转换详解

    在Django中,日期处理是开发过程中不可或缺的一部分,特别是在创建数据模型(models)时。Django提供了DateTimeField、DateField和TimeField这三种字段类型来处理时间日期信息,它们分别对应Python中的datetime....

    DJANGO 入门书籍

    2. How the documentation is organized: 说明文档的组织方式,帮助读者快速定位到所需的信息。 3. Security: 涵盖 Django 应用的安全实践,强调如何防止常见的安全威胁。 4. Internationalization and ...

    Webb-App_v1.0:这是我制作Webapp的第一次尝试

    概述我的主要工作位于“ mysite”文件夹中,我现在仅显示一个网页,但是我已经制作了许多网页并准备显示。 “ repel-samples”文件夹中... 我有一些网页,但是我对使用Djano的知识不甚满意开发环境我主要使用Visual St

Global site tag (gtag.js) - Google Analytics