使用Django模板创建可读的HTML
在使用Django进行HTML模板制作时,怎样才能创建出好的HTML标记格式呢?
我想利用内容块,但在不同的模板中,这些内容块的缩进层级却不一样。我想知道怎么才能让这些内容块的缩进看起来像是手动写的HTML那样。
我在换行方面也遇到了同样的问题;我可以把所有的块都挤在一起,这样HTML看起来会好一些,但模板就变得难以维护了。
我想问的是,如何才能用Django的模板系统创建出漂亮的HTML标记呢?
到目前为止,我对大家的回答感到惊讶。我发现格式良好的HTML有助于编写相应的CSS和JavaScript,同时也让后续添加内容变得更容易。
6 个回答
0
我很佩服你对生成的HTML这么在意——我只关心模板是否整洁易读!不过,针对你的问题,你有没有考虑过中间件呢?
http://docs.djangoproject.com/en/dev/topics/http/middleware/
然后可以使用Tidy这个Python模块来重新格式化HTML。
4
你可以像我一样重写NodeList的渲染方法。你可以查看我提问时提供的可运行代码:
16
Pyevolve的Christian S. Perone提供了你所需要的解决方案。他使用中间件来拦截HTTPResponse对象,并通过BeautifulSoup进行处理。
不过,我想你的站点可能会稍微影响性能。因此,我建议在将这个中间件应用到正式网站之前,先进行一些性能测试。