国产xxxx99真实实拍_久久不雅视频_高清韩国a级特黄毛片_嗯老师别我我受不了了小说

資訊專欄INFORMATION COLUMN

4-django——模板

yibinnn / 3187人閱讀

摘要:概述定義模板變量要遵守標識符規則語法在模板中使用點語法,按順序查詢字典查詢屬性或者方法查詢數字索引查詢如果使用的變量不存在,則插入空字符串在模板中調用對象的方法,但是不能給函數傳參示例標簽語法作用在輸出中創建文本控制邏輯或循環加載外

概述

定義模板 變量
要遵守標識符規則

語法: {{ var }}

在模板中使用點語法,按順序查詢:字典查詢;屬性或者方法查詢;數字索引查詢

如果使用的變量不存在,則插入空字符串

在模板中調用對象的方法,但是不能給函數傳參

示例


    

sunck is a good man

he is {{ age }} years old

{{ stu.name }}--{{ stu.age }}--{{ stu.grade }}

*{{ name }}*

{{ stu.say }}

標簽
語法:{% tag %}

作用: 在輸出中創建文本;控制邏輯或循環;加載外部信息到模板中使用

if

{% if 表達式 %}
語句
{% endif %}

{% if 表達式 %}
語句1
{% else %}
語句2
{% endif %}

{% if 表達式1 %}
語句1
{% elif 表達式2 %}
語句2
{% elif 表達式3 %}
語句3
……
{% else %}
語句e



    

sunck is a handsome man!

{% if age > 18 %}

sunck is a nice man

{% else %}

sunck is a good man

{% endif %} {% endif %}

for

{% for 變量 in 集合 %}
語句
{% endfor %}

{% for 變量 in 集合 %}
語句1
{% empty %}
語句2

# 當沒有該集合或者集合為空的時候執行empty標簽下的語句2
    {% for stu in stus %}
  • {{ stu.name }}--{{ stu.age }}
  • {% empty %}
  • 沒有學生
  • {% endfor %}
{% endfor %}

comment

作用 : 注釋   單行注釋({#

sunck is a handsome man!

#}) 多行注釋
{% comment %}
注釋內容
{% endcomment%}
# 可以注釋HTML代碼和邏輯控制代碼

ifequal/ifnotequal

作用: 判斷是否相等/不相等

# 如果值1等于值2,則執行語句
{% ifequal 值1 值2 %}
語句
{% endequal %}

# 如果值1不等于值2,則執行語句
{% ifnotequal 值1 值2 %}
語句
{% endequal %}

include

作用: 加載模板

格式: {% include "模板目錄" %}

示例: {% include "t1.html" %}

url

作用:用于反向解析

格式: {% url "namespace:name" 參數1 參數2 …… %}

csrf_token

作用:用于跨站請求偽造保護

格式:{% csrf_token %}

block、extends

作用:用于繼承

autoescape

作用:用于HTML轉義

過濾器

作用: 在變量被顯示之前修改它的顯示

語法: {{ 變量|過濾器 }}

簡單過濾器: lower upper

{{ des }}

{{ des|lower }}

{{ des }}

過濾器可傳參,參數用引號引起來

join:

{{ arr|join:"#" }}

如果一個變量沒有提供或者值為False或者值為空,則可以使用默認值,否則使用變量的值

default:

{{ name|default:"sunck" }}

根據給定格式對一個date變量格式化顯示

date :

{{ value|date:"Y-m-d" }}

加減乘除

{{ age|add:2 }}

{{ age|add:-2 }}

{# widthratio 參數1 參數2 參數3 #} {# 參數1/參數2*參數3 #}

{% widthratio age 1 2 %}

{% widthratio age 2 1 %}

轉義: escape;safe

自定義過濾器

過濾器就是python的函數,可以注冊函數后在模板中當過濾器調用

# 在應用目錄下創建名為templatetags的包
# 在templatetags目錄下創建名為filters.py的文件
# -*- coding:utf-8 -*-

#導入Library庫
from django.template import Library

#創建一個Library對象
register = Library()

#定義函數
#使用裝飾器注冊成過濾器
@register.filter
def even(value):
    return value % 2 == 0

@register.filter
def sub(value, othre):
    return value - othre
# 使用自定義過濾器
{% load filters %}

{{ 19|sub:9 }}
{% if 19|even %}

********************1

{% else %}

********************2

{% endif %}
反向解析

主路由:url(r"^", include("myApp.urls", namespace="myApp")),

子路由:url(r"^market2/$", views.market, name="market")

模板 : 點我跳轉

模板繼承

作用: 模板繼承可以減少頁面內容的沖定義,實現頁面內容的重用

block標簽: 在父模板中預留區域,在子模板中填充

extends標簽: 實現繼承,寫在模板文件的第一行




    
    {% block title %}{% endblock title %}

    {% block link %}{% endblock link %}
    {% block script %}{% endblock script %}


    
{% block main %} {% endblock main %}
{% extends "base.html" %}

{% block title %}child1{% endblock title %}

{% block main %}

child1

{% endblock main %}
HTML轉義

Django默認開啟了HTML轉義

def login(request):
    if request.method == "GET":
        # infoStr = "

sunck is a good man

" infoStr = "" return render(request, "login.html", {"infoStr":infoStr})



    
    登陸


{% autoescape off %}
    {{ infoStr }}
    {{ infoStr|safe }}
    {{ infoStr|escape }}
{% endautoescape %}
    
賬號:
密碼:
CSRF

跨站請求偽造保護: 某些惡意網站上包含鏈接、表單按鈕或者JavaScript,它們會利用登陸過的用戶信息試圖在我們的網站上完成某些操作,這就是跨站攻擊

防止CSRF

# 在settings.py中啟用""django.middleware.csrf.CsrfViewMiddleware","中間件,工程中默認開啟
# 開啟保護后不論是自己還是別人都會被屏蔽



    
    登陸


    
{% csrf_token %} 賬號:
密碼:

{% csrf_token %}: 給表單頁面生成一個隱藏域;寫入一個名為csrftoken的cookie;給隱藏域的value設置為名為csrftoken的cookie的值;

靜態文件

包含工程中的css、js、img、json等文件

在工程目下創建名為static的目錄用以存儲靜態文件

配置靜態文件路徑

# settings.py
STATIC_URL = "/static/"
STATICFILES_DIRS=[
    os.path.join(BASE_DIR, "static"),
]
{#{% load static from staticfiles %}#}
{% load static %}



    
    主頁

{#    #}
    


    

sunck is a good man

5-django——驗證碼,中間件

文章版權歸作者所有,未經允許請勿轉載,若此文章存在違規行為,您可以聯系管理員刪除。

轉載請注明本文地址:http://specialneedsforspecialkids.com/yun/41966.html

相關文章

  • 使用PyCharm創建Django項目及基本配置

    摘要:是個很不錯的開發工具,大大縮短了項目的創建時間以及調試時間在使用寫腳本一段時間后,想嘗試使用來編寫一個項目,現做以下記錄備忘創建項目如果本地沒有安裝與所選版本對應版本,會自動下載相應的版本創建后運行項目,默認頁面為,打開后出現上面的頁面,則 pycharm是個很不錯的python開發工具,大大縮短了python項目的創建時間以及調試時間在使用python寫腳本一段時間后,想嘗試使用Dj...

    toddmark 評論0 收藏0
  • Django添加全文搜索功能入門篇

    摘要:轉載說明來源添加全文搜索功能入門一使用的工具是的開源搜索框架,該框架支持搜索引擎,不用更改代碼,直接切換引擎,減少代碼量。修改如下添加修改為如下第二步在中修改引擎,如下第三步重建索引,在進行搜索中文試試吧。 感覺網絡上關于Django全文搜索的中文文章太少,并且講的也不是很到位,就是簡單介紹了怎么配置,并沒有說這樣配置有什么用,所以依然很迷茫。所以希望我這篇文章能夠幫助到后來人。 轉...

    lookSomeone 評論0 收藏0
  • Python學習之路19-設置應用程序的樣式并對其進行部署

    摘要:刪除的全部代碼,并添加如下代碼第行使用了的一個自定義模板標簽,它讓包含所有的樣式文件。只修改了樣式,并沒有修改代碼。 《Python編程:從入門到實踐》筆記。本篇將對Django項目做最后的完善。本篇也是這本書的最后一篇。 1. 前言 在本篇中,我們將: 使用Bootstrap庫設置樣式; 把項目部署到Heroku上。 2. 設置項目學習筆記的樣式 之前關注的都是項目的功能,現在來...

    陳偉 評論0 收藏0
  • 3-django——視圖

    摘要:概述作用視圖接收請求并返回響應本質視圖就是一個函數,被定義在文件中響應可以是一個頁面,一個重定向,一個錯誤一個數據等等過程視圖函數對象概述服務器接收到協議的請求后,會根據報文創建對象視圖函數的一個形參就是對象屬性方法如果請求是通過類發起的, 概述 作用:視圖接收WEB請求并返回WEB響應本質: 視圖就是一個python函數,被定義在views.py文件中 響應: 可以是一個HTML頁面...

    dinfer 評論0 收藏0
  • 個人博客四|注冊登錄退出功能后臺開發

    摘要:聲明本博客的注冊登錄退出功能將使用,參考資源如下文檔教程安裝配置信息安裝后設置,將相關加入到里去。指定與特定配置文件相關聯的對象之數據庫的。因此并沒有提供用戶詳情應用用戶詳情請參考個人博客五用戶個人資料擴展 聲明:本博客的注冊登錄退出功能將使用django-allauth,參考資源如下:django-allauth文檔django-allauth教程 1、安裝django-allau...

    Darkgel 評論0 收藏0

發表評論

0條評論

yibinnn

|高級講師

TA的文章

閱讀更多
最新活動
閱讀需要支付1元查看
<