Будут ли модули кэша Django работать в Google App Engine?
-
16-09-2019 - |
Вопрос
Я использую Django (1.0.2) в Google App Engine и хотел бы знать, что из следующего (если таковое имеется) Модули кэширования Django должен по своей сути работать с Кэш памяти Google выполнение:
Средняя одежда
django.middleware.cache.UpdateCacheMiddleware
django.middleware.common.CommonMiddleware
django.middleware.cache.FetchFromCacheMiddleware
Декораторы
- django.views.decorators.cache.cache_page
Кэширование фрагментов шаблона
В шаблоне:
{{ load cache }}{% cache 500 cache_name %}...cached...{% endcache %}
API низкого уровня
- django.core.cache
Если некоторые или все эти модули должны работать, есть ли какие-либо изменения, необходимые для их правильной работы, и есть ли какие-либо проблемы или подводные камни, о которых следует знать при их использовании?
Я просмотрел документацию и потратил некоторое время на поиск в Google, но не нашел ответа на этот вопрос.Я подозреваю, что это может быть решение «под ключ», но я опасаюсь использовать классы Django без хотя бы одной ссылки на то, что кто-то другой сделал это без проблем.
Спасибо, любезно.
Решение
Запуск Django в Google App Engine Говорит: «Можно использовать почти весь стек Django в Google App Engine, включая промежуточное программное обеспечение». Кроме того, на этой странице есть пример, который включает в себя один из классов, о которых вы спрашивали, поэтому, по крайней мере, это должно работать:
MIDDLEWARE_CLASSES = (
'django.middleware.common.CommonMiddleware',
...
Различные сайты, такие как Вот этот иметь код для использования AppEngine и код кэширования Django, например django.middleware.cache.UpdateCacheMiddleware.Видеть этот поиск в Google другие ссылки различного качества.;)
На самом деле я не использовал этот материал, поэтому могу только поверить другим на слово, но кажется, что это сделали несколько человек.
Редактировать: Билеты на Джанго 7398 и 7399 имеют к этому отношение.
Другие советы
Нет, механизм приложения предоставляет собственный API memcached.Что вам нужно сделать (и, возможно, уже существует реализация этого с открытым исходным кодом, я не знаю), это написать бэкэнд кеша Django для этого API, они довольно просты, вы можете использовать существующий бэкэнд memcached в качестве основы для вашего нового: http://code.djangoproject.com/browser/django/trunk/django/core/cache/backends/memcached.py . http://code.google.com/appengine/docs/python/memcache/usingmemcache.html показывает, как выглядит Memcached API App Engine.
Вы должны проверить это http://code.google.com/p/google-app-engine-django/
Вы хотите этоhttps://github.com/django-nonrel/djangoappengine