2016-10-08 5 views
0

У меня есть html-файл, который является базой, где другие html-документы расширяются. Это статическая страница, но я хочу иметь переменную в меню. Я не думаю, что это разумно создайте представление для него, так как я не намерен позволять пользователям посещать базу самостоятельно. Так где в моем проекте можно хранить динамические переменные на сайте, которые можно вызывать на любой странице, без явного указания их в своих представлениях. Спасибо заранее.Как сохранить динамическую переменную сайта

ответ

2

Для конкретных переменных пользователя используйте session.

Для глобальных констант (не переменных!) Используйте settings.py.

Для глобальных переменных, храните его в базе данных, чтобы он мог быть многопоточным & многопроцессорным безопасным.

-1

вы также можете попробовать использовать php-страницы.

Затем вводит переменную на каждой странице с включенным «файлом, содержащим var.php» на каждой странице.

Ничего из этого не будет видно в исходном html, поскольку оно обрабатывается только на стороне сервера.

Если вы хотите попробовать это, напишите мне, и я пришлю вам образец кода.

0

Я оглянулся и увидел, разные подходы, но один, который не ставит под угрозу СУХОЙ философии наиболее для меня регистрирующий тег в проекте затем ввести его в базовых template.Its аккуратнее Смотрите здесь https://stackoverflow.com/a/21062774/6629594 для примера

0

Хранение может занимать любое количество мест, я поместил шахту в модель статистики в db, чтобы вы получили всю доброту этого (и упростили доступ к представлениям).

Я тогда контекст процессора записывается в виде так:

#context_processors.py: 
def my_custom_context_processor(request): 
    return {'custom_context_variable1':'foo','custom_context_variable2':'bar'} 

Добавить это в контекст процессоров в settings.py:

TEMPLATE_CONTEXT_PROCESSORS = (
... 
"my_app.context_processors.ny_custom_context_processor", 
) 

при условии использования визуализации() для визуализации ваших шаблонов, то вы можете просто использовать:

{{ custom_context_variable1 }} 

для возврата 'foo' в ваш шаблон. Очевидно, что возвращаемые строки, например, только, вы можете использовать все, что угодно, до тех пор, пока ваш контекстный процессор вернет dict.

Смежные вопросы