Django 提供两种方式让程序员自定义html模板。
第一种方法
- 在项目文件夹里的urls.py进行添加
修改代码如下
from django.contrib import admin
from django.urls import path
from app01 import views # 得添加这行
urlpatterns = [
path('xxx/', views.home), # 添加这行
path('admin/', admin.site.urls),
]
- 先在app文件夹里的views.py文件里,修改代码
修改代码如下
from django.shortcuts import render
from django.shortcuts import HttpResponse
# Create your views here.
def home(request):
# 添加下面一句
return render(request, 'home.html')
- 在项目文件夹里的 settings.py 进行修改
修改代码如下:
.....
# 得添加这一行
import os
# 在 TEMPLATES 里进行修改
TEMPLATES = [
{
'BACKEND': 'django.template.backends.django.DjangoTemplates',
#'DIRS': [], # 这个是原先的
'DIRS': [os.path.join(BASE_DIR, 'templates'),], # 这个是修改的,告诉Django去到templates文件夹里寻找html文件
'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',
],
},
},
]
- 创建一个新的templates文件夹
在templates文件夹里,创建一个新的html文件
<!DOCTYPE html>
<html>
<head>
</head>
<body>
<h1>hello world</h1>
</body>
</html>
- 运行下面的命令行,就能在网页上看到结果了
python manage.py runserver
第二种方法:在注册app里添加html路径 (使用这种方法较好)
- 在项目文件夹里的urls.py进行添加
修改代码如下
from django.contrib import admin
from django.urls import path
from app01 import views # 得添加这行
urlpatterns = [
path('xxx/', views.home), # 添加这行
path('admin/', admin.site.urls),
]
- 在 settings.py 里修改
在 INSTALLED_APPS 里修改
INSTALLED_APPS = [
'django.contrib.admin',
'django.contrib.auth',
'django.contrib.contenttypes',
'django.contrib.sessions',
'django.contrib.messages',
'django.contrib.staticfiles',
'app01.apps.App01Config', # 添加这里
]
为什么是 App01Config?
# 在 app 文件里的 apps.py
from django.apps import AppConfig
# 函数名是 App01Config()
class App01Config(AppConfig):
default_auto_field = 'django.db.models.BigAutoField'
name = 'app01'
- 在 app 文件夹里创建一个 templates 文件夹
在 home.html 文件里
<!DOCTYPE html>
<html>
<head></head>
<body>
<h1>
home
</h1>
</body>
</html>
- 运行下面的命令行,就能在网页看到结果了
python manage.py runserver
- 网址
http://127.0.0.1:8000/xxx/
点个赞呗~