python学习笔记(9)Django timer案例

1. 用户访问 http://127.0.0.1:8000/timer/ 可以看到路径为timer/。

2. timer/路径将对应主项目下urls.py中的timer/。

from app01 import views
urlpatterns = [
    path('admin/', admin.site.urls),
    path("timer/", views.get_timer),
    path("login/", views.login),
    path("auth", views.auth)
]

可以看到timer/路径对应的是app01下的views下的get_timer函数。

3. 找到app01下的views.py文件,如下:

from django.shortcuts import render
import datetime
# Create your views here.

def get_timer(request):
    current_timer = datetime.datetime.now().strftime("%Y-%m-%d %X")
    return render(request,"timer.html",{"nowstr": current_timer})

可以看到返回的是一个timer.html,同时将该html文件中的变量nowstr替换为current_timer。

4. 找到对应的timer.html,这里我们注意到代码中没有跟路径,说明这个文件在默认路径下,Django的默认路径在setting.py中设置。如下:

import os
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',
            ],
        },
    },
]

这里需要先import os,然后在将templates文件夹指定为模板文件的存放位置。

5. 打开templates文件夹找到timer.html,内容如下:

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <meta http-equiv="X-UA-Compatible" content="IE=edge">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>Timer</title>
    <style>
        span {
            color: red;  /*颜色变红*/
        }
    </style>
</head>
<body>
<H3>当前时间 <span>{{ nowstr }}</span></H3>
</body>
</html>

可以看到里面span标签有个变量叫nowstr,在该变量将被替换为当前时间,并渲染为红色之后,将页面整体返回给用户侧。

原文地址:https://www.cnblogs.com/tortoise512/p/15169330.html