python – [Django] So erhalten Sie Benutzerinformationen für jede Vorlage
漂亮男人
漂亮男人 2017-07-05 10:34:29
0
5
1021

Wenn Sie beispielsweise Django zum Erstellen einer Website verwenden, enthalten die meisten Seiten Benutzerinformationen wie Benutzername, Avatar usw.

Aber es ist mir unmöglich, für jede Ansicht eine Benutzervariable in den Kontext zu übergeben, oder?

Wie erreiche ich normalerweise meine Bedürfnisse?

漂亮男人
漂亮男人

Antworte allen(5)
typecho

你多虑了,不用你手动一个个写的,默认已经有了,直接用就行,比如:{{user.username}}
不过没有头像等自定义的字段信息。
或者 你自定义一个context_processors.py,用于返回你想要的信息,然后在settings.py里导入。 就不需要在每个函数都返回了

洪涛
如果你是使用的auth.login()登录的话,你可以在任何一个模板里直接使用user对象
如{{user.username}}
Ty80

应该是{{request.user.username}}.
而且django支持设置全局变量

習慣沉默

用户登录后,用户信息一般都会存在request.user里,不需要传user变量进context, 前提是在settings里引用了 django.template.context_processors.request

我想大声告诉你

补充一点:如果很多页面都会出现固定的一部分内容,可以采取模板继承的方法,将相同的部分提取出来,通过extends和include对模板的内容进行修改。

Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage