真实的国产乱ⅩXXX66竹夫人,五月香六月婷婷激情综合,亚洲日本VA一区二区三区,亚洲精品一区二区三区麻豆

成都創(chuàng)新互聯(lián)網(wǎng)站制作重慶分公司

Django模板引擎有幾種

這篇文章將為大家詳細講解有關Django模板引擎有幾種,小編覺得挺實用的,因此分享給大家做個參考,希望大家閱讀完這篇文章后可以有所收獲。

創(chuàng)新互聯(lián)成立與2013年,是專業(yè)互聯(lián)網(wǎng)技術服務公司,擁有項目成都網(wǎng)站制作、成都網(wǎng)站設計、外貿營銷網(wǎng)站建設網(wǎng)站策劃,項目實施與項目整合能力。我們以讓每一個夢想脫穎而出為使命,1280元祥符做網(wǎng)站,已為上家服務,為祥符各地企業(yè)和個人服務,聯(lián)系電話:028-86922220

在Django框架中,可以使用兩種模板引擎,一種是默認的Django模板引擎,還有一種是Jinja2模板引擎;

1.模版引擎的作用和優(yōu)點

模版引擎作用是將View視圖中需要在前端HTML頁面中展示的數(shù)據(jù),通過模板引擎的語法規(guī)則,展示出來;

模版引擎優(yōu)點是將業(yè)務邏輯的Python代碼和頁面設計的HTML代碼分離,使代碼更干凈整潔更容易維護,使Python程序員和HTML/CSS程序員分開協(xié)作,提高生產的效率,且將HTML代碼分離出來,還能使其能夠復用;

2.HTML模板存放的位置

HTML模板存放的位置有兩個,一個是存放在settings文件中指定的DIRS的目錄列表中,還有一個是直接在對應的APP包下,創(chuàng)建templates目錄,將HTML放置于此即可,不同APP對其他APP目錄下的templates目錄都是可見的;

3.模板引擎的配置

先在項目的settings.py文件中找到TEMPLATES變量,然后加入

TEMPLATES = [
    {
        # 選擇模板引擎,默認是Django的模板引擎
        'BACKEND': 'django.template.backends.django.DjangoTemplates',
        #或者是jinja2模版  'BACKEND': 'django.template.backends.jinja2.Jinja2'
        # 指定HTML模板存放的目錄,如果HTML模板較多,可以設置多個模板路徑
        'DIRS': [os.path.join(BASE_DIR, 'templates')],
        # APP_DIRS的值判斷是否支持將template目錄放置在APP中,Django默認支持值為True
        'APP_DIRS': True,
        'OPTIONS': {
            'context_processors': [
                'django.template.context_processors.debug',
                'django.template.context_processors.request',
                'django.contrib.auth.context_processors.auth',
                'django.contrib.messages.context_processors.messages',
            ],
        },
    },
]

4.Django模板引擎的模板語法

變量(VARIABLE):

{{ VARIABLE }}   # 用于引入后臺傳入的變量
{{ VARIABLE.name }}
{{ VARIABLE.age }}

標簽(TAG):

{% TAG %}   # 用于循環(huán)
1: 正序 for 循環(huán)
{% for item in items %}
    

{{ forloop.counter }}

    

{{ item.name }}

    

{{ item.desc }}

{% endfor %} 2: 倒敘 for 循環(huán) {% for item in items reversed %}     

{{ forloop.counter }}

       # 記錄循環(huán)到第幾次,計數(shù)從1開始     

{{ item.name }}

    

{{ item.desc }}

{% endfor %} 3: 變量字典 {% for k,v in dictionary.items %}     

{{ k }},{{ v}}

{% endfor %}

5.Django模板的繼承的作用

在Django開發(fā)過程中,頁面中的重復部分,可以通過Django的模板繼承來完成,這樣使得頁面開發(fā)和管理更簡單;

在HTML頁面中使用到的關鍵字:

{% extends 這里填寫被繼承的HTML頁面 %}
{% block 這里填寫繼承的block %}  {% endblock %}
{% include 這里填寫需要引入的HTML子頁面 %}

6.如何實現(xiàn)繼承模板

我們知道了模板可以用繼承的方式來實現(xiàn)復用,那接下來我們一起來操作一下:

第一步:可以在項目的templates中先編寫好一個html頁面,作為網(wǎng)站的基礎頁面被其他頁面繼承,我的HTML頁面為base.html,然后在其中編輯HTML代碼,注意要修改的部分寫在{% block %} {% endblock %}的中間;


    
        今天是星期幾呀
    
         {% block content %}              

今天是星期一

    
    {% endblock %}              好的,謝謝     

第二步:在你想要的app的templates目錄下創(chuàng)建一個html頁面,繼承之前的基礎頁面,我還是使用的courses app,創(chuàng)建一個python.html文件,這些名字都可以自己命名的,不過要注意路徑之類的;

{% extends 'base.html' %}
{% block content %}
     
        

今天是星期{{ week_id }}

     {% endblock %}

第三步:在根路由urls.py中,添加訪問路徑的路由文件,一定要分清項目的了路由和app的路由喲;

url(r'^courses/', include(('courses.urls', 'courses'), namespace='courses')),

第四步:在app的路由文件urls.py中添加要訪問的html路徑;

urlpatterns = [
    url(r'python/(?P\d+)$', python, name='python')
]

第五步:在app下的views.py中創(chuàng)建一個python函數(shù);

from django.shortcuts import render
def python(request, week_id):
    return render(request, 'python.html', {'week_id': week_id})

然后我們就可以運行項目,運行項目依舊是打斷點,然后調試,我們看看結果是否是我們預期的結果呢,比如我的訪問路徑是

http://127.0.0.1:8000/courses/python/1

python后面接數(shù)字,不然會報錯,因為我們在第四步中添加路由訪問的html路徑的時候正則表達式驗證必須是數(shù)組,這個可以大家自己修改的,可以按照自己的想法來做練習喲;

關于“Django模板引擎有幾種”這篇文章就分享到這里了,希望以上內容可以對大家有一定的幫助,使各位可以學到更多知識,如果覺得文章不錯,請把它分享出去讓更多的人看到。


本文題目:Django模板引擎有幾種
文章轉載:http://weahome.cn/article/jsopph.html

其他資訊

在線咨詢

微信咨詢

電話咨詢

028-86922220(工作日)

18980820575(7×24)

提交需求

返回頂部