Heim  >  Fragen und Antworten  >  Hauptteil

python – [Django] So erhalten Sie Benutzerinformationen für jede Vorlage

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?

漂亮男人漂亮男人2662 Tage vor984

Antworte allen(5)Ich werde antworten

  • typecho

    typecho2017-07-05 10:36:29

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

    Antwort
    0
  • PHP中文网

    PHP中文网2017-07-05 10:36:29

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

    Antwort
    0
  • PHP中文网

    PHP中文网2017-07-05 10:36:29

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

    Antwort
    0
  • 習慣沉默

    習慣沉默2017-07-05 10:36:29

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

    Antwort
    0
  • 我想大声告诉你

    我想大声告诉你2017-07-05 10:36:29

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

    Antwort
    0
  • StornierenAntwort