页面静态化 + 定时任务

页面静态化 + 定时任务

  • 页面静态化即将动态渲染生成的页面结果保存成html文件,放到静态文件服务器中。用户访问的时候访问的直接是处理好之后的html静态文件。

1. 首先创建uilts.py用来生成静态的主页html文件

2. 配置添加保存静态文件的目录

# 生成的静态html文件保存目录
GENERATED_STATIC_HTML_FILES_DIR = os.path.join(os.path.dirname(os.path.dirname(BASE_DIR)), 'front_end_pc')

3. 在配置中添加模板文件目录

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

定时任务

1. 添加应用

INSTALLED_APPS = [
    ...
    'django_crontab',  # 定时任务
    ...
]

2. 配置定时任务的方法

  • 配置定时任务有三个参数

    • 任务时间
    基本格式 :
    
    * * * * *
    
    分 时 日 月 周      命令
    
    M: 分钟(0-59)。每分钟用*或者 */1表示
    
    H:小时(0-23)。(0表示0点)
    
    D:天(1-31)。
    
    m: 月(1-12)。
    
    d: 一星期内的天(0~6,0为星期天)。
    
    • 任务方法路径
    • log日志路径
# 定时任务
CRONJOBS = [
    # 每5分钟执行一次生成主页静态文件
    ('*/5 * * * *', '方法路径', '>> 日志路劲.log')
]  # 

bug问题

在定时任务中,如果出现非英文字符,会出现字符异常错误

可以通过在配置文件中添加定时任务执行的附加命令来实现

# 解决crontab中文问题
CRONTAB_COMMAND_PREFIX = 'LANG_ALL=zh_cn.UTF-8'

开启定时任务

添加定时任务到系统中

python manage.py crontab add

显示已经激活的定时任务

python manage.py crontab show

移除定时任务

python manage.py crontab remove

你可能感兴趣的:(页面静态化 + 定时任务)