Python Django框架筆記(六):模板

(一){%%}和{{ }}html

1 {% for post in posts %} 2         <a href=""><h2>{{ post.title }}</h2></a>
3         <p>{{ post.body }}</p>
4         <p>{{ post.timestamp }}</p>
5         <hr>
6 {% endfor %}

{%%}:裏面的是模板標籤,{{}}裏面的是變量python

{%%}標籤:django

1 {% if  x == 1%} 2      <p></p>
3 {% else %} 4     <p></p>
5 {% endif %}
1 {% for a in a_list %} 2         <p>{{ a.name }}</p>
3 {% endfor %}

只有模板變量、字符串、整數和小數能夠做爲 {% ifequal %} 標籤的參數,像字典、列表、布爾類型的是不能用在 {% ifequal %}中的,例如{% ifequal test [1,2,3] %}是錯誤的函數

1 {# 比較2個參數的值,user1 user2 #}
2     {% ifequal user1 user2 %} 3         <p></p>
4     {% else %} 5         <p></p>
6     {% endifequal %}

{% include %}模板標籤能夠顯示其餘模板的內容{% include template_name %},例如post

{% include 'login.html' %}

(二)模板繼承網站

能夠在一個HTML頁面中定義公共內容(網站logo等),其餘頁面繼承這個模板spa

一、定義基礎模板base.htmlcode

<!-- base.html -->
<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>個人博客-全部博客列表</title>
</head>
<style>
</style>
<body> {% block content %} {% endblock %} <div align="center">python django 網站 2018 ©版權全部</div>
</body>
</html>
{% block content %}

{% endblock %}
這個標籤之間的內容是能夠替換的

二、繼承,例如:下面這個就是orm

第一行繼承 base.html,後面的就是替換base.html  {% block content %}       {% endblock %} 標籤之間的內容csrf

1 {% extends "base.html" %} 2 {% block content %} 3 <form action="/blog/team/" method="post">{% csrf_token %} 4     <div align="center"><table >{{ form }}</table><br>
5     <input type=submit></div>
6 </form>
7 <hr>
8 {% endblock %}

(三)模板渲染

模板建立好後,能夠用 context 來傳遞數據給它。 一個context是一系列變量和它們值的集合,相似於字典。

例如: django.shortcuts 文件中的render函數

def render(request, template_name, context=None, content_type=None, status=None, using=None): """ Return a HttpResponse whose content is filled with the result of calling django.template.loader.render_to_string() with the passed arguments. """ content = loader.render_to_string(template_name, context, request, using=using) return HttpResponse(content, content_type, status)

第二個參數就是模板,第三個就是要傳給模板的數據

def login(request): return render(request,'login.html',{'form':LoginPostForm,})
相關文章
相關標籤/搜索