美文网首页
Django模板语言要点速记

Django模板语言要点速记

作者: 糖果遇见猫 | 来源:发表于2016-08-24 21:40 被阅读0次

View层

  • view中会定义多个函数,分别用来处理用户访问请求,最终都会返回render(request, 'x.html', context)
  • context将数据库中的要取数据和网页中要显示的部分(填空的部分)做映射
  • context参数为字典结构
  • template中被替换的内容格式{{ title }},{{ }}中间变量为context字典的中key,最终网页呈现的是context字典中的值。相当于context中的key为template所能调用的变量
    context.png
context = {
    'ArtiInfo':loaded
    'title':'just a title'
    #相当于'ArtInfo' = loaded
    #相当于'title'='just a title'
}
<h3><a href="#">{{ item.title }}</a></h3>

model层

  • model层相当于数据库的代理,从数据库中取出数据,放到context参数中,最终映射到template中
  • 首先,model层需要先从setting层加载数据库
from mongoengine import connect
connect('wbsite', host='127.0.0.1', port=27017)
  • mongoengine将数据库中数据以面向对象的方式进行操作
  • model层需要建立数据模型(用户自定义类),用于context来引用
class ArtiInfo(Document):
    des = StringField()
    title = StringField()
    scores = StringField()
    tags = ListField(StringField())
    #指定需要读取的sheet
    meta = {'collection':'arti_info3'}
for i in ArtiInfo.objects[:1]:
    print(i.title,i.des,i.scores,i.tags)

分页器(Paginator)

  • Django自带的一个分页插件包,用来实现网页分页功能
  • 需要在View层导入paginator module
from django.core.paginator import Paginator
  • Paginator类的主要用例
Paginator.png
  • View层Paginator代码的实现,注意request.GET.get('page',1)用法,以及context的写法
def index(request):
    limit = 4
    arti_info = ArtiInfo.objects[:20]
    paginatior = Paginator(arti_info,limit)
    page = request.GET.get('page',1)
    print(request)
    print(request.GET)
    loaded = paginatior.page(page)
    context = {
        'ArtiInfo':loaded
    }
    return render(request,'index.html',context)

Django模板语言

  • 在网页中使用类似python语法的代码实现数据映射
{% for item in ArtiInfo %}
    <li>
        <img src="{% static 'images/0001.jpg' %}" width="100" height="91">
        <div class="article-info">
            <h3><a href="#">{{ item.title }}</a></h3>
            <p class="meta-info">
                {% for tag in item.tags %}
                    <span class="meta-cate">{{ tag }}</span>
                {% endfor %}
            </p>
            <p class="description">{{ item.des }}</p>
        </div>
        <div class="rate">
            <span class="rate-score">{{ item.scores }}</span>
        </div>
    </li>
{% endfor %}

相关文章

  • Django模板语言要点速记

    View层 view中会定义多个函数,分别用来处理用户访问请求,最终都会返回render(request, 'x....

  • Django之Template介绍及日常应用

    Django模板语言 Django模板是一个简单的文本文档,或用Django模板语言标记的一个Python字符串。...

  • 3.Django模板语言

    Django模板语言 常用语法变量相关的用{{ }}逻辑相关的用{% %} 变量在Django的模板语言使用变量的...

  • 模板、csrf攻击解释、网址反转解析

    django中文3.0版本帮助文档 模板 1.模板语言 简称DTL(Django Template Languag...

  • django4-Templates

    什么是Templates HTML文件 适用Django模板语言 Django Template Language...

  • Django模板-模板语言

    模板语言包括4种类型,分别是 模板变量 标签 过滤器 注释 模板变量 模板变量的作用是计算并输出,变量名必须由字...

  • Django模板语言

    知识点: 代码布局 编写自定义模板过滤器 简单标签 包含标签 分配标签 静态文件加载 为了解决应用中展示逻辑的需求...

  • Django 模板语言

    什么是模板 作为Web框架,Django提供了模板,用于编写html代码,还可以嵌入模板代码更快更方便的完成页面开...

  • Django模板语言

    官方文档 常用的语法 在DjangoHong Kong只需要记两种特殊符号: {{ }}:变量相关 {% %}: ...

  • Django模板语言

    模板简单来说就是一个其中包涵占位变量表示动态的部分的文件,模板文件在经过动态赋值后,返回给用户。 --> 可以理...

网友评论

      本文标题:Django模板语言要点速记

      本文链接:https://www.haomeiwen.com/subject/oouosttx.html