Py学习  »  问与答

[精华] django每个模板中共同存在的数据怎么解决?

zhangfortune • 10 年前 • 7902 次点击  

是这样的,我作了一个blog网站。打算左边事blog的分类,中间是最近的blogs,右边是一些其他内容。 当进入在不同页面的时候只有中间的部分变化,两边的不变。那我改怎么处理左右两边不变的信息呢。另外说,左右两边的数据每次都是从数据库里面读出来的。如果我在每个action里面写,那我每次都得去写一次相同的内容。我想有没有办法。让他在一个页面的时候,也会render另外一个页面的内容。我新手,提前谢过。

Python社区是高质量的Python/Django开发社区
本文地址:http://www.python88.com/topic/267
 
7902 次点击  
文章 [ 9 ]  |  最新文章 10 年前
zhangfortune
Reply   •   1 楼
zhangfortune    10 年前

@amaozhao 对,我回头试试。3q

amaozhao
Reply   •   2 楼
amaozhao    10 年前

@zhangfortune 这个问题是这样的,你可以自己写一个TEMPLATE_CONTEXT_PROCESSORS 加到settings里,这样每次有request请求的时候,都会把context里的变量一起返回,这样在你的template里就可以直接拿来用了。

zhangfortune
Reply   •   3 楼
zhangfortune    10 年前

@crazybubble 我清楚你的意思,但是base.html里面的数据也是由后台拿到的。所以是不行的。

crazybubble
Reply   •   4 楼
crazybubble    10 年前

用模版的继承阿。

{% extends 'base.html' %}

{% block content %} blablabla {% endblock %}

base.html里是不变的那些信息的模版,这样新的“中间的”区域,就定义成这样的模版,继承base里的模版样式,你只要在新的这个模版里定义“中间的”那块区域就可以了。你稍微搜一下django的模版继承就行了

漠肥-weibo
Reply   •   5 楼
漠肥-weibo    10 年前

用RequestContext试试?

zhangfortune
Reply   •   6 楼
zhangfortune    10 年前

@shanshuise 谢谢你,我这个正在看。

shanshuise
Reply   •   7 楼
shanshuise    10 年前

@zhangfortune 我也是个小白,这个问题我也遇到过。看其他人的代码他们是在views.py中写一个通用的函数来返回这些东西,然后在每个视图函数中合并这个字典与当前视图函数的字典,将合并后的传递给模板。(水平有限,说不清楚。。。)

还是直接看代码吧,具体代码可以看https://github.com/lovesnow/neteue/blob/master/apps/blog/views.py 里边的common_response函数就是。

zhangfortune
Reply   •   8 楼
zhangfortune    10 年前

@devChen 能不能具体一些。

devchenpy
Reply   •   9 楼
devchenpy    10 年前

分开写一个模板不久得了