社区所有版块导航
Python
python开源   Django   Python   DjangoApp   pycharm  
DATA
docker   Elasticsearch  
aigc
aigc   chatgpt  
WEB开发
linux   MongoDB   Redis   DATABASE   NGINX   其他Web框架   web工具   zookeeper   tornado   NoSql   Bootstrap   js   peewee   Git   bottle   IE   MQ   Jquery  
机器学习
机器学习算法  
Python88.com
反馈   公告   社区推广  
产品
短视频  
印度
印度  
Py学习  »  问与答

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

zhangfortune • 11 年前 • 8505 次点击  

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

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

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

amaozhao
Reply   •   2 楼
amaozhao    11 年前

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

zhangfortune
Reply   •   3 楼
zhangfortune    11 年前

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

crazybubble
Reply   •   4 楼
crazybubble    11 年前

用模版的继承阿。

{% extends 'base.html' %}

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

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

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

用RequestContext试试?

zhangfortune
Reply   •   6 楼
zhangfortune    11 年前

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

shanshuise
Reply   •   7 楼
shanshuise    11 年前

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

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

zhangfortune
Reply   •   8 楼
zhangfortune    11 年前

@devChen 能不能具体一些。

devchenpy
Reply   •   9 楼
devchenpy    11 年前

分开写一个模板不久得了