文章详情页
python - [Django]如何让每一个template都可以获取user信息
浏览:212日期:2022-06-26 17:48:15
问题描述
比如用Django搭一个网站,大部分的页面都会含有user的信息,比如用户名,头像等等。
但是我不可能每个view都传一个user变量进context吧?
我这种需求一般如何实现呢?
问题解答
回答1:你多虑了,不用你手动一个个写的,默认已经有了,直接用就行,比如:{{user.username}}不过没有头像等自定义的字段信息。 或者 你自定义一个context_processors.py,用于返回你想要的信息,然后在settings.py里导入。 就不需要在每个函数都返回了
回答2:如果你是使用的auth.login()登录的话,你可以在任何一个模板里直接使用user对象如{{user.username}}回答3:
应该是{{request.user.username}}.而且django支持设置全局变量
回答4:用户登录后,用户信息一般都会存在request.user里,不需要传user变量进context, 前提是在settings里引用了 django.template.context_processors.request
回答5:补充一点:如果很多页面都会出现固定的一部分内容,可以采取模板继承的方法,将相同的部分提取出来,通过extends和include对模板的内容进行修改。
相关文章:
1. java - mysql缓存问题2. PHP搜索功能的实现 哪里错了3. angular.js使用$resource服务把数据存入mongodb的问题。4. 新建index文件夹,然后把controller 以及文件index.php放入index文件夹。修改htaccess文件为扩展访问。但是访问的时候提示页面错误!请稍后再试。PHP版本正常,请老师解答5. mysql - 千万级数据表如何有效的变更字段?6. 请问一下,图片上传成功,但是后台对应文件夹里面却没有图片,这是什么原因?(已部署到服务器)7. 电脑上装了wamp后,再装了mysql,wamp上的mysql就不能用了8. php - SQL 一条语句查询出文章和对应的文章标签9. java - 触发器使两张表同时更新10. php+mysql 高并发 根据id 循环下载数据如何避免重复 (接口)
排行榜

网公网安备