Django 網站框架 第七堂(上)

  • Post author:
  • 帖子最後修改:2021 年 12 月 18 日

1.Template的設定與動作

  • 使用Template之前,首先要到settings.py中做資料夾設定工作,安排所有的Html在同一個資料夾中,DIR到這個資料夾。
  • 也可自行更換預設模板引擎。
				
					ROOT_URLCONF = 'myTemplate.urls'
import os
TEMPLATES = [
    {
        'BACKEND': 'django.template.backends.django.DjangoTemplates',
        'DIRS': [os.path.join(BASE_DIR,'templates')], 
        'APP_DIRS': True, #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',
            ],
        },
    },
]
				
			

settings.py設定

  • BACKEND
    • 指定要使用的模板引擎(預設為Django模板引擎),也可使用如Jinja2。
      • Jinja2,修改成django.template.backends.jinja2.jinja2。
  • DIRS
    • 指定templates網頁檔案存檔位置。
  • APP_DIRS
    • True ,使用templates網頁檔案→從當前APP NAME內的templates資料夾找尋對應模板。
    • 無對應模板,會至DIRS路徑找尋。
    • 全部都沒找到,時會輸出TemplateDoestNotExist 例外。
    • 記得在INSTALLED_APPS加入,yourappname才會生效,否則只會在DIRS中尋找。

2.urls.py設定

  • 使用以下設定網站首頁:
    • from django.contrib import admin
      from django.urls import path
      from mysite import views
    • urlpatterns = [
      path(‘admin/’, admin.site.urls),
      path(”,views.index),
      ]
  • (流程)建置APP檔案(和資料庫)→urls.py網頁路徑顯示→views function功能或函數方法→templates 內容

3.views.py

  • request
  • render 渲染
  • index.html
  • dict
				
					from django.shortcuts import render
def index(request):
    dictA = {'msg':'Hello'}
    return render(request,'index.html',dictA)
				
			

4.在temolate 中建立 index.html

				
					<h1>welcome to my site</h1>
{(msg)}