1. dorofeev

    25.08.2009

    0 ↑
    0 ↓
    Как можно получить доступ в шаблоне к переменных прописанным в settings.py?
  2. Иван Сагалаев

    26.08.2009

    0 ↑
    0 ↓

    Философия Джанго такова, что если вам такого хочется, то у вас наверняка где-то неудобно спроектировано. Объясните конечную цель, наверняка есть способ лучше.

    P.S. Антиспамный плагин всё время подозрительно относится к вашим сообщениям и пихает их в карантин. Если у вас есть OpenID, вы можете им подписаться, тогда форум сможет вас узнавать и не прогонять через антиспамные проверки.

  3. dorofeev

    26.08.2009

    0 ↑
    0 ↓
    Иван, я хочу сделать чтобы в шаблоне выводилась сообщение вида
    "До активации аккаунта осталось 7 дней". Число 7 это так называемый холд в днях, после которого аккаунт активируется. Количество дней я вынес в переменную, которую расположил в settings.py.

    Если это противоречит философии Django, то как такое лучше реализовать?
  4. Dixon

    26.08.2009

    0 ↑
    0 ↓
    Пишите свой middleware:
    http://docs.djangoproject.com/en/dev/topics/http/middleware/#writing-your-own-middleware

    Импортируйте settings и возвращайте их в контекст шаблона
  5. astur.net.ru

    26.08.2009

    0 ↑
    0 ↓

    Пишите свой middleware:

    ...

    Импортируйте settings и возвращайте их в контекст шаблона

    Зачем такие сложности? Если выяснится, что это действительно нужно, то можно сразу сделать простенький контекст-процессор:

    from django.config import settings
    
    def settings_cp(request):
        """settings to template"""
        return {'settings': settings}
    
  6. Иван Сагалаев

    26.08.2009

    0 ↑
    0 ↓

    Иван, я хочу сделать чтобы в шаблоне выводилась сообщение вида "До активации аккаунта осталось 7 дней". Число 7 это так называемый холд в днях, после которого аккаунт активируется.

    А как это выводится пользователю? Это результат работы какой-то вьюхи? Если да, то можно прямо во вьюхе передать в шаблон цифру:

    def myview(request):
        # ...
        return render_to_response('template.html', {
            'hold_days': settings.HOLD_DAYS,
        })
    
  7. Dixon

    27.08.2009

    0 ↑
    0 ↓
    to astur.net.ru:

    Вы конечно же правы - я это и имел в виду, только термин спутал :-[

Внимание! Это довольно старый топик, посты в него не попадут в новые, и их никто не увидит. Пишите пост, если хотите просто дополнить топик, а чтобы задать новый вопрос — начните новый.