Skip to main content

Django integration middleware for EEA Zope websites

Project description

Django integration middleware for EEA Zope websites.

Template and request

pip install eea.frame

In your project’s settings.py add:

INSTALLED_APPS = (
... # django apps
'frame'
... # your project's apps
)

MIDDLEWARE_CLASSES = (
  'frame.middleware.RequestMiddleware',
  'frame.middleware.UserMiddleware',
  'django.contrib.sessions.middleware.SessionMiddleware',
  'django.middleware.common.CommonMiddleware',
  'django.middleware.csrf.CsrfViewMiddleware',
  'django.contrib.auth.middleware.AuthenticationMiddleware',
  'django.contrib.messages.middleware.MessageMiddleware',
  'django.middleware.clickjacking.XFrameOptionsMiddleware',
)

TEMPLATE_LOADERS = (
  'frame.middleware.Loader',
  'django.template.loaders.filesystem.Loader',
  'django.template.loaders.app_directories.Loader',
)

Also, usually in local_settings.py you need to define: FRAME_URL to an url pointing to a Zope frame instance, and FRAME_COOKIES = ['__ac', '_ZopeId', '__ginger_snap'].

You can skip https with FRAME_VERIFY_SSL = False.

Your layout.html must extend "frame.html" in order to use the frame.

You can set FRAME_EXTRA_SUBSTITUTIONS to a list of pairs to be replaced in the frame html.

Authentication Backend

If you want to use the Django groups and permissions settings with users from _eea.frame_, you need to set:

MIDDLEWARE_CLASSES = (
  ...
  'django.contrib.auth.middleware.RemoteUserMiddleware',
  ...
)

AUTHENTICATION_BACKENDS = (
  'django.contrib.auth.backends.ModelBackend',
  'frame.backends.FrameUserBackend',
)

For each user that is authenticated on eea.frame, a django.contrib.auth.models.User instance is created.

For each of the roles the user has in eea.frame, a django.contrib.auth.models.Group instance is created, and you can assign permissions to that group.

Seen Middleware

Use the seen middleware to keep for each user the datetime of the last visit to the application.

Set (at the end of the middleware classes setting):

MIDDLEWARE_CLASSES = (
  ...
  'frame.middleware.SeenMiddleware',
)

If you want to use the default view, add frame.utils.get_objects_from_last_seen_count to your url patterns, in a location such as ^/_lastseen/$, then set the FRAME_SEEN_MODELS to a list of pairs (model, field) for the objects to be counted.

You should exclude this view using FRAME_SEEN_EXCLUDE config setting.

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

eea_frame-0.5.8.tar.gz (6.5 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

eea_frame-0.5.8-py3-none-any.whl (8.7 kB view details)

Uploaded Python 3

File details

Details for the file eea_frame-0.5.8.tar.gz.

File metadata

  • Download URL: eea_frame-0.5.8.tar.gz
  • Upload date:
  • Size: 6.5 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.1.0 CPython/3.13.1

File hashes

Hashes for eea_frame-0.5.8.tar.gz
Algorithm Hash digest
SHA256 7d3332f7c382e51b533c65fe210bc25de7e0e0b9fd9e1c42aaf1679282df44e8
MD5 3c495aa8fa57b7edec4685f5b9896dfa
BLAKE2b-256 4c99f6f8a80676b9e8fe0e85d0853f60c0f14716fcca6e0e46bc7c0309282bde

See more details on using hashes here.

File details

Details for the file eea_frame-0.5.8-py3-none-any.whl.

File metadata

  • Download URL: eea_frame-0.5.8-py3-none-any.whl
  • Upload date:
  • Size: 8.7 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.1.0 CPython/3.13.1

File hashes

Hashes for eea_frame-0.5.8-py3-none-any.whl
Algorithm Hash digest
SHA256 56f5e88e3c71da4caa4eb1837f98751636b6fc28e50aea104868bc077b0079d0
MD5 e48182e4900de8542beb6c2a4113d5ba
BLAKE2b-256 79ff00e76d8b149e2db9ede86443efd4f1a9cf68a50d039202a9f7dd3d8c5364

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page