Django學習之全局變量


首先說說什么叫全局變量,我們經常在html中使用{{ var }}這樣的模板變量,這些變量是我們在視圖函數中

提前定義好的變量,通過render()等方法傳遞到模板中。

但是,還有一類變量,我們並沒有在views.py中定義,也能在html中使用該變量,像這樣的變量,就叫做

全局變量。

下面來看看如何定義全局變量:

思路:

新建contexts.py文件-->修改settings.py文件-->在html中使用。

1.首先我們需要在項目根目錄下的同名目錄建立contexts.py文件

     1    #!/bin/bash/python 
     2    # -*- coding: utf-8 -*-
     3    # 全局變量
     4    #
     5    from django.conf import settings
     6    
     7    def lang(request):
     8      return {'lang': settings.LANGUAGE_CODE}

2.修改settings.py中的全局變量templates

    61                'context_processors': [
    62                    'django.template.context_processors.debug',
    63                    'django.template.context_processors.request',
    64                    'django.contrib.auth.context_processors.auth',
    65                    'django.contrib.messages.context_processors.messages',
    66                    'blog.contexts.lang',
    67                ],

上述中'blog.contexts.lang'即是我們定義的方法

3.在模板中使用

 <h3>全局變量lang:{{ lang }}</h3>
 <h3>是否登錄:{{request.user.is_authenticated}}</h3>
request.user.is_authenticated為系統自帶的全局變量。
tips:
在views.py中必須使用render()或其他能夠定向到模板的方法,像HttpResponse()就不行!
附:頁面圖

 

 
       


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM