Django學習筆記(二):使用Template讓HTML、CSS參與網頁建立


Django學習筆記(二):使用Template讓HTML、CSS參與網頁建立

通過本文章實現:

  1. 了解Django中Template的使用
  2. 讓HTML、CSS等參與網頁建立
  3. 利用靜態文件應用網頁樣式

一、Template的使用

Template是Django利用渲染器將模板文件與數據內容結合,完成網頁整合的方式。

1、Template的建立

在項目文件夾(manage.py所在路徑)內,建立templates文件夾。
在setting.py中配置TEMPLATES的DIR。將setting.py文件中TEMPLATES部分修改如下:

TEMPLATES = [
    {
        'BACKEND': 'django.template.backends.django.DjangoTemplates',
        'DIRS': [os.path.join(BASE_DIR, 'templates')]
        ,
        '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',
            ],
        },
    },
]

主要是在'DIRS': [os.path.join(BASE_DIR, 'templates')]中配置。

2、編寫HTML模板文件

在templates文件夾中編寫drugs_index.html文件,內容如下:

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>葯品搜索</title>
</head>
<body>
<h1>{{html_time}}</h1>
</body>
</html>

文件與一般HTML一致,{{show_time}}部分表示show_time用於后續與Django進行數據通信。
點擊查看HTML教程

3、Django與HTML之間的數據通信

在APP下的views.py中先引入get_template模塊。

from django.shortcuts import render
from django.http import HttpResponse
import datetime
from django.template.loader import get_template


# Create your views here.
def index(request):
    # 確定引入的模板文件
    template = get_template('drugs_index.html')
    # 定義顯示的內容
    time = datetime.datetime.now().strftime("%Y-%m-%d %H:%M:%S")
    views_time = '今天是:' + time
    # 將views_time通信到HTML中的html_time
    html = template.render({'html_time':views_time})
    return HttpResponse(html)

cmd中運行python manage.py runserver 0.0.0.0:8000,打開網頁可看到數據通信成功。

4、CSS靜態文件引入改善頁面顯示效果

除了在HTML中使用傳統的引入方式使用CSS文件外,在Django中,CSS、JS和圖片文件可以看作是靜態文件,有專門的配置方式。
本筆記使用bootstrap.min.css的本地文件的方式進行演示。點擊查看CSS教程

在templates文件夾中建立static子文件夾,在static文件夾內再建立css子文件夾。將bootstrap.min.css文件復制到css子文件夾內。
在settings.py中找到STATIC_URL = '/static/',並增加內容如下:

# Static files (CSS, JavaScript, Images)
# https://docs.djangoproject.com/en/1.11/howto/static-files/
STATIC_URL = '/static/'

STATICFILES_DIRS = [
    os.path.join(BASE_DIR, 'templates/static'),
]

應用CSS與普通情況一樣,直接在HTML中編輯。將drugs_index.html文件修改如下:

<!DOCTYPE html>
<!-- 加載靜態文件 -->
{% load staticfiles %}
<html lang="en">
<head>
    <!-- 以鏈接方式引用static文件夾中的css文件 -->
    <link rel="stylesheet" href="{% static 'bootstrap.min.css' %}">
    <meta charset="UTF-8">
    <title>葯品搜索</title>
</head>
<body>
<!-- 應用css文件中的樣式 -->
<p class="text-center muted">{{html_time}}</p>
</body>
</html>

運行后查看網頁,可看到使用了css中的樣式,使文字可以居中顯示,文字顏色變為灰色。


免責聲明!

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



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