mirror of
				https://gitlab.crans.org/bde/nk20
				synced 2025-10-31 07:49:57 +01:00 
			
		
		
		
	Merge branch 'ics_cache' into 'beta'
Ics cache See merge request bde/nk20!127
This commit is contained in:
		| @@ -17,7 +17,7 @@ py37-django22: | ||||
|         python3-django python3-django-crispy-forms | ||||
|         python3-django-extensions python3-django-filters python3-django-polymorphic | ||||
|         python3-djangorestframework python3-django-oauth-toolkit python3-psycopg2 python3-pil | ||||
|         python3-babel python3-lockfile python3-pip python3-phonenumbers | ||||
|         python3-babel python3-lockfile python3-pip python3-phonenumbers python3-memcache | ||||
|         python3-bs4 python3-setuptools tox texlive-xetex | ||||
|   script: tox -e py37-django22 | ||||
|  | ||||
| @@ -34,7 +34,7 @@ py38-django22: | ||||
|         python3-django python3-django-crispy-forms | ||||
|         python3-django-extensions python3-django-filters python3-django-polymorphic | ||||
|         python3-djangorestframework python3-django-oauth-toolkit python3-psycopg2 python3-pil | ||||
|         python3-babel python3-lockfile python3-pip python3-phonenumbers | ||||
|         python3-babel python3-lockfile python3-pip python3-phonenumbers python3-memcache | ||||
|         python3-bs4 python3-setuptools tox texlive-xetex | ||||
|   script: tox -e py38-django22 | ||||
|  | ||||
|   | ||||
| @@ -9,7 +9,7 @@ RUN apt-get update && \ | ||||
|     python3-django python3-django-crispy-forms \ | ||||
|     python3-django-extensions python3-django-filters python3-django-polymorphic \ | ||||
|     python3-djangorestframework python3-django-oauth-toolkit python3-psycopg2 python3-pil \ | ||||
|     python3-babel python3-lockfile python3-pip python3-phonenumbers ipython3 \ | ||||
|     python3-babel python3-lockfile python3-pip python3-phonenumbers python3-memcache ipython3 \ | ||||
|     python3-bs4 python3-setuptools \ | ||||
|     uwsgi uwsgi-plugin-python3 \ | ||||
|     texlive-xetex gettext libjs-bootstrap4 fonts-font-awesome && \ | ||||
|   | ||||
| @@ -94,9 +94,9 @@ Sinon vous pouvez suivre les étapes décrites ci-dessous. | ||||
|         python3-django python3-django-crispy-forms \ | ||||
|         python3-django-extensions python3-django-filters python3-django-polymorphic \ | ||||
|         python3-djangorestframework python3-django-oauth-toolkit python3-psycopg2 python3-pil \ | ||||
|         python3-babel python3-lockfile python3-pip python3-phonenumbers ipython3 \ | ||||
|         python3-babel python3-lockfile python3-pip python3-phonenumbers python3-memcache ipython3 \ | ||||
|         python3-bs4 python3-setuptools \ | ||||
|         uwsgi uwsgi-plugin-python3 \ | ||||
|         memcached uwsgi uwsgi-plugin-python3 \ | ||||
|         texlive-xetex gettext libjs-bootstrap4 fonts-font-awesome \ | ||||
|         nginx python3-venv git acl | ||||
|     ``` | ||||
|   | ||||
| @@ -30,6 +30,7 @@ | ||||
|       - python3-django-polymorphic | ||||
|       - python3-djangorestframework | ||||
|       - python3-lockfile | ||||
|       - python3-memcache | ||||
|       - python3-phonenumbers | ||||
|       - python3-pil | ||||
|       - python3-pip | ||||
| @@ -40,6 +41,9 @@ | ||||
|       # LaTeX (PDF generation) | ||||
|       - texlive-xetex | ||||
|  | ||||
|       # Cache server | ||||
|       - memcached | ||||
|  | ||||
|       # WSGI server | ||||
|       - uwsgi | ||||
|       - uwsgi-plugin-python3 | ||||
|   | ||||
| @@ -12,8 +12,10 @@ from django.db.models import F, Q | ||||
| from django.http import HttpResponse | ||||
| from django.urls import reverse_lazy | ||||
| from django.utils import timezone | ||||
| from django.utils.decorators import method_decorator | ||||
| from django.utils.translation import gettext_lazy as _ | ||||
| from django.views import View | ||||
| from django.views.decorators.cache import cache_page | ||||
| from django.views.generic import DetailView, TemplateView, UpdateView | ||||
| from django_tables2.views import SingleTableView | ||||
| from note.models import Alias, NoteSpecial, NoteUser | ||||
| @@ -288,6 +290,8 @@ class ActivityEntryView(LoginRequiredMixin, TemplateView): | ||||
|         return context | ||||
|  | ||||
|  | ||||
| # Cache for 1 hour | ||||
| @method_decorator(cache_page(60 * 60), name='dispatch') | ||||
| class CalendarView(View): | ||||
|     """ | ||||
|     Render an ICS calendar with all valid activities. | ||||
|   | ||||
| @@ -216,6 +216,16 @@ EMAIL_HOST_PASSWORD = os.getenv('EMAIL_PASSWORD', None) | ||||
| SERVER_EMAIL = os.getenv("NOTE_MAIL", "notekfet@example.com") | ||||
| DEFAULT_FROM_EMAIL = "NoteKfet2020 <" + SERVER_EMAIL + ">" | ||||
|  | ||||
| # Cache | ||||
| # https://docs.djangoproject.com/en/2.2/topics/cache/#setting-up-the-cache | ||||
| cache_address = os.getenv("CACHE_ADDRESS", "127.0.0.1:11211") | ||||
| CACHES = { | ||||
|     'default': { | ||||
|         'BACKEND': 'django.core.cache.backends.memcached.MemcachedCache', | ||||
|         'LOCATION': cache_address, | ||||
|     } | ||||
| } | ||||
|  | ||||
| # Django REST Framework | ||||
| REST_FRAMEWORK = { | ||||
|     'DEFAULT_PERMISSION_CLASSES': [ | ||||
|   | ||||
| @@ -24,6 +24,14 @@ if os.getenv("DJANGO_DEV_STORE_METHOD", "sqlite") != "postgresql": | ||||
|         } | ||||
|     } | ||||
|  | ||||
| # Dummy cache for development | ||||
| # https://docs.djangoproject.com/en/2.2/topics/cache/#setting-up-the-cache | ||||
| CACHES = { | ||||
|     'default': { | ||||
|         'BACKEND': 'django.core.cache.backends.dummy.DummyCache', | ||||
|     } | ||||
| } | ||||
|  | ||||
| # Break it, fix it! | ||||
| DEBUG = True | ||||
|  | ||||
|   | ||||
| @@ -13,5 +13,6 @@ django-polymorphic~=2.0.3 | ||||
| djangorestframework~=3.9.0 | ||||
| django-rest-polymorphic~=0.1.9 | ||||
| django-tables2~=2.3.1 | ||||
| python-memcached~=1.59 | ||||
| phonenumbers~=8.9.10 | ||||
| Pillow>=5.4.1 | ||||
|   | ||||
		Reference in New Issue
	
	Block a user