Merge branch 'hjn_branch' into develop

pull/6/head^2
cheese-egg-yolk 4 months ago
commit 3169b238cb

@ -4,40 +4,60 @@ from django.utils import timezone
from djangoblog.utils import cache, get_blog_setting
from .models import Category, Article
# 获取当前模块的logger对象
logger = logging.getLogger(__name__)
def seo_processor(requests):
"""
SEO处理器函数用于生成包含SEO相关信息和网站设置的上下文数据
该结果会被缓存以提高性能
Args:
requests: Django的request对象用于获取当前请求信息
Returns:
dict: 包含SEO设置和网站配置的字典
"""
# 缓存键名
key = 'seo_processor'
# 尝试从缓存获取数据
value = cache.get(key)
if value:
return value
else:
logger.info('set processor cache.')
# 获取博客设置
setting = get_blog_setting()
# 构建包含SEO和网站设置的字典
value = {
# 基本站点信息
'SITE_NAME': setting.site_name,
# 广告相关设置
'SHOW_GOOGLE_ADSENSE': setting.show_google_adsense,
'GOOGLE_ADSENSE_CODES': setting.google_adsense_codes,
'SITE_SEO_DESCRIPTION': setting.site_seo_description,
'SITE_DESCRIPTION': setting.site_description,
'SITE_KEYWORDS': setting.site_keywords,
'SITE_BASE_URL': requests.scheme + '://' + requests.get_host() + '/',
# 文章相关设置
'ARTICLE_SUB_LENGTH': setting.article_sub_length,
# 导航数据
'nav_category_list': Category.objects.all(),
'nav_pages': Article.objects.filter(
type='p',
status='p'),
# 评论系统设置
'OPEN_SITE_COMMENT': setting.open_site_comment,
# 备案和统计代码
'BEIAN_CODE': setting.beian_code,
'ANALYTICS_CODE': setting.analytics_code,
"BEIAN_CODE_GONGAN": setting.gongan_beiancode,
"SHOW_GONGAN_CODE": setting.show_gongan_code,
# 其他信息
"CURRENT_YEAR": timezone.now().year,
"GLOBAL_HEADER": setting.global_header,
"GLOBAL_FOOTER": setting.global_footer,
"COMMENT_NEED_REVIEW": setting.comment_need_review,
}
# 将结果缓存10小时(60秒*60分钟*10)
cache.set(key, value, 60 * 60 * 10)
return value

Loading…
Cancel
Save