0

テンプレートのuserenaプロファイルからプロファイル情報を取得する方法はありますか?自動的に渡されるある種の変数はありますか?

例:次のようにdjangoユーザー変数を取得できます:

{% if user.is_authenticated %}
   Hey {{ user.username }}.
{% endif %}

これは各リクエストで渡されるためです。

各ビューでプロファイルを渡さずに、userenaプロファイルで同じことを行う組み込みの方法はありますか?理想的には、sthをやりたいです。このような:

{% if user.is_authenticated %}
    {% if user.profile.likes_cookies %}
       Hey cookiemonster
    {% endif %}
{% endif %}
4

1 に答える 1

2

テンプレートから直接ユーザーのプロファイルにアクセスできます。

userenaプロファイルを次のように定義したとします。

class MyProfile(UserenaBaseProfile):
    user = models.OneToOneField(User,
                                unique=True,
                                verbose_name=_("user"),
                                related_name="my_profile")
    # Example of adding additional fields below.
    likes_cookies = models.BooleanField(_("likes cookies"))

Userクラスを持つOneToOneFieldのrelated_nameは、userenaプロファイルにアクセスする方法であるため、ここでは重要な部分です。

これで、テンプレートで次のようにプロファイルにアクセスできるようになります。

{% if user.is_authenticated %}
    {% if user.my_profile.likes_cookies %}
       Hey cookiemonster
    {% endif %}
{% endif %}
于 2013-01-27T02:59:26.527 に答える