本文共 3316 字,大约阅读时间需要 11 分钟。
前言:
from django.template import loader
index_template = loader.get_template('index.html')
index_html_data = index_template.render(context)
import osfrom apps.contents.models import ContentCategoryfrom meiduo_market import settingsfrom utils.goods import get_categoriesdef generate_static_index_html(): # 1查询相关数据 # 获取频道和分类数据 categories = get_categories() # 广告数据 contents = { } # 所有广告分类 content_categories = ContentCategory.objects.all() # 遍历 获取分类下所有广告 添加到字典 for cat in content_categories: contents[cat.key] = cat.content_set.filter(status=True).order_by('sequence') # 渲染模板的上下文 context = { 'categories': categories, 'contents': contents, } # 2加载需要渲染模板 from django.template import loader # 获取模板对象 index_template = loader.get_template('index.html') # 3把数据渲染到模板上 index_html_data = index_template.render(context) # 4把渲染好的模板保存成html文件,写入到指定文件 # settings.BASE_DIR /home/halon/Desktop/meiduo_pro/meiduo # os.path.dirname(settings.BASE_DIR) /home/halon/Desktop/meiduo_pro # / home / halon / Desktop / meiduo_pro/front_end_pc/index.html file_path = os.path.join(os.path.dirname(settings.BASE_DIR), 'front_end_pc/index.html') print(file_path) with open(file_path, 'w', encoding='utf-8') as f: f.write(index_html_data)
# 加载django环境import osos.environ.setdefault('DJANGO_SETTINGS_MODULE', 'meiduo.settings')import djangodjango.setup()
#!/usr/bin/env pythonimport syssys.path.insert(0, '../')# 加载django环境import osos.environ.setdefault('DJANGO_SETTINGS_MODULE', 'meiduo.settings')import djangodjango.setup()from apps.goods.models import SKUfrom utils.goods import get_goods_specs, get_categories, get_breadcrumbfrom django.conf import settingsfrom apps.goods import modelsdef generate_static_sku_detail_html(sku_id): # - 1查询相关数据 """提供商品详情页""" # 获取当前sku的信息 sku = SKU.objects.get(id=sku_id) # 查询商品频道分类 categories = get_categories() # 查询面包屑导航 breadcrumb = get_breadcrumb(sku.category) # 获取规格 specs = get_goods_specs(sku) # 渲染页面 context = { 'categories': categories, 'breadcrumb': breadcrumb, 'sku': sku, 'specs': specs, } # - 2加载需要渲染模板 from django.template import loader # 获取模板对象 index_template = loader.get_template('detail.html') # 3把数据渲染到模板上 index_html_data = index_template.render(context) # 4把渲染好的模板保存成html文件写入到指定文件 file_path = os.path.join(os.path.dirname(settings.BASE_DIR), 'front_end_pc/goods/' + str(sku_id) + '.html') with open(file_path, 'w') as f: f.write(index_html_data)if __name__ == '__main__': skus = models.SKU.objects.all() for sku in skus: print(sku.id) generate_static_sku_detail_html(sku.id)
转载地址:http://jquhf.baihongyu.com/