Django TemplateSyntax: два теста с «если .. или ...» - PullRequest
0 голосов
/ 05 июля 2011

Я пытаюсь запустить два теста:

{% if profile.id! = 100 или profile.location == NULL%}

однако, похоже, не работает. Я не мог найти в документах, почему это не работает. Есть идеи?

EDIT:

В базе данных SQL значение для profile.location равно NULL. Полученный результат - Нет.

РЕДАКТИРОВАТЬ 2:

Вот полная цепочка. Есть 4 способа получить местоположение пользователя. Как видите, это гигантский беспорядок ...

    {% if profile.city.id != 104 or profile.city %}
        {{profile.city}}
    {% else %}
        {% if profile.mylocation != '' %}
            {{ profile.mylocation }}
            {% else %}
                {% if profile.fbconnect == 1 and profile.location != '' and profile.location != "None" %}
                    {{profile.location}}
                {% else %}
                    {% if profile.sglocation.city %}{{profile.sglocation.city}}{% else %}{{profile.sglocation.country}}{% endif %}
                {% endif %}
            {% endif %}
    {% endif %}

Ответы [ 2 ]

0 голосов
/ 05 июля 2011

На вашем месте я бы добавил всю эту логику обратно в Python, например:

class Profile(models.Model):

    [your model fields and stuff]

    def get_location(self):
        [your location logic]

Затем в шаблоне вы можете просто сделать:

{{ profile.get_location }}
0 голосов
/ 05 июля 2011

Там нет NULL. Попробуйте:

{% if profile.id != 100 or not profile.location %}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...