Django——读取html并获取变量

这个知识点,看其他教程,没一个提到。但看完这个知识点后,感觉很重要,还是需要记录一下。


def getHtmlByFile(request):
    now = datetime.now()
    # 在Django的配置文件中配置了基本变量,这里用的BASE_DIR就是该项目所在的目录(settings.py文件里)
    file = os.path.join(settings.BASE_DIR, 'templates', 'index.html')
    with open(file) as f:
        html = f.read()
    # 从这一步其实明显可以看出,html中的变量获取,采用的是固定格式进行识别的,正则去匹配两个大括号,匹配到就获取里面的字符串,在去掉前后空格,取出来作为变量名。由于是重复造轮子的事,暂时不讨论。
    # 如果真是采用这种方式进行获取变量的话,一定需要注意,替换的是字符串,里面一个空格的差别都是不同字符串
    html = html.replace('{{ now }}', now.strftime('%Y-%M-%D'))
    return HttpResponse(html)


def getHtmlByLoader(request):
    now = datetime.now()
    # loader是django自带的读取html文件的方法,从方法名也可以知道,是去templates目录下去获取html文件的
    template = loader.get_template('index.html')
    # {}表示字典,key-value获取变量
    html = template.render({'now': now})
    return HttpResponse(html)


def getHtmlByRender(request):
    now = datetime.now()
    # 默认目录就是templates
    return render(request, 'index.html', {'now': now})


def getHtmlByRendertoresponse(request):
    now = datetime.now()
    # 查看源码可以发现,其实里面用的就是loader()
    return render_to_response('index.html', {'now': now})

其实我们正常使用,是使用的后面两种方法,但没有这一步步的解析,根本不知道内部的逻辑。

 

 

 

 

print_r('点个赞吧');
var_dump('点个赞吧');
NSLog(@"点个赞吧!")
System.out.println("点个赞吧!");
console.log("点个赞吧!");
print("点个赞吧!");
printf("点个赞吧!\n");
cout << "点个赞吧!" << endl;
Console.WriteLine("点个赞吧!");
fmt.Println("点个赞吧!")
Response.Write("点个赞吧");
alert(’点个赞吧’)

 

  • 5
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值