Django入門--模板路徑配置及渲染


模板就是前端的頁面,Django把html源碼寫到模板文件中,然后通過特定方法渲染后交給客戶端。
模板路徑設置方法有兩種,分別是在項目目錄下設置以及在應用目錄下設置。
模板查找順序:優先在DIRS設置的目錄下查找templates,如果沒有並且 'APP_DIRS': True時,繼續在注冊的app文件下查找templates。

1.在項目目錄下設置

1).在項目目錄下新建templates文件夾
2).在項目目錄下的setting.py中找到模板設置TEMPLATES,並進行配置"DIRS"
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',
            ],
        },
    },
]
3).在templates文件夾下創建teacher文件夾
4).在templates/teacher文件夾下新建teacher_login.html文件,並編輯網頁
<body>
    <h1 style="color:red">我是teacher應用的登錄頁面</h1>
    <form>
        <p>賬號:<input type="text"></p>
        <p>密碼:<input type="password"></p>
        <p><input type="submit" value="登錄"></p>
    </form>
</body>
5).在teacher應用文件夾編輯views.py,並使用render進行渲染

# 方法一
from django.template.loader import get_template
from django.http import HttpResponse

def login(request):
    tp=get_template('teacher/teacher_login.html')        #獲取新建的html文件
    html=tp.render()                                     #網頁渲染,html為字符串
    return HttpResponse(html)

#方法二:快捷方式
from django.shortcuts import render

def login(request)
    return render(request, 'teacher/teacher_login.html')
6).在teacher應用文件夾編輯urls.py
from django.urls import path
from . import views

urlpattern=[
    path('login/', views.login)
]

2.在應用目錄下設置

1)在student應用目錄下新建templates文件夾
2)在項目目錄的setting.py中找到模板設置TEMPLATES和INSTALLED_APP,並上傳
INSTALLED_APPS = [
    'django.contrib.admin',
    'django.contrib.auth',
    'django.contrib.contenttypes',
    'django.contrib.sessions',
    'django.contrib.messages',
    'django.contrib.staticfiles',
    'student'                                       #注冊應用
]
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',
            ],
        },
    },
]
3).在student/templates文件夾下新建student文件夾
4).在student/templates/student文件夾下新建student_login.html文件,並編輯網頁
<body>
    <h1 style="color:red">我是student應用的登錄頁面</h1>
    <form>
        <p>賬號:<input type="text"></p>
        <p>密碼:<input type="password"></p>
        <p><input type="submit" value="登錄"></p>
    </form>
</body>
5).在student應用文件夾編輯views.py,並使用render進行渲染
from django.shortcuts import render

def login(request)
    return render(request, 'student/student_login.html')
6).在student應用文件夾編輯urls.py
from django.urls import path
from . import views

urlpattern=[
    path('login/', views.login)
]


免責聲明!

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



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