模板就是前端的頁面,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)
]
