(Django)模板渲染方式

  1. 渲染文本内容

    在app(项目应用)的views.py中使用HttpResponse对象进行渲染

    news为项目mysite的一个应用

    
    # news.views.py
    
    
    from django.http import HttpResponse
    
    def index(request):
        return HttpResponse('<h2>Hello this is news main channel!</h2>')
    
    
    
    # 在news目录下创建urls.py文件,目的是让每个应用的url规格单独进行管理,在项目中的urls.py中分别引入,这样也可以防止项目中urls.py文件过于臃肿。
    
    
    
    # news.urls.py
    
    
    from django.conf.urls import url
    from . import views  # 将当前的views模块引入到当前文件中
    
    
    # urlpatterns 名称为规定格式,不能为别的名称,否则会报错。
    
    urlpatterns = [
        url(r'^$',views.index,name='news_index'),    # 指定默认的页面
    ]
    
    
    
    
    # 在mysite.urls中引入news应用中定义的URL规则.
    
    
    
    # mysite.urls.py
    
    
    
    # 在urlpatterns列表中加入
    
    url(r'^news/',include('news.urls')),   # 指定new应用的url规格(以news/开头的url都使用news.urls中的规格)
  2. 使用django.template.loader进行渲染

    同渲染纯文本内容类似,此种方式可以将变量动态的写入模板:先获得模板内容,然后将指定的变量信息替换到模板中,再将文本内容发送给客户端。

    
    # news.views.py
    
    
    from django.template import loader
    def list(request):
        template = loader.get_template('list.html')     # 指定模板文件
    
        # 定义模板变量信息
        context = {
            'source' = ['Java','Python','PHP'],
        }
    
        # 指定模板中使用的变量信息,并渲染成文本内容
        return HttpResponse(template.render(context,request))
  3. 使用django.shortcut.render进行渲染

    此种方式像是对前两种方式的一种综合使用。

    
    # news.view.py
    
    
    from django.shortcut import render
    
    def detail(request):
        # 定义模板变量信息
        context = {
            'source' = ['Java','Python','PHP'],
        }
    
        # 同时指定模板文件,模板中使用的变量字典
        return render(request,'detail.html',context)
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值