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.5.zip (12.8 kB view details)

Uploaded Source

File details

Details for the file eea.frame-0.5.5.zip.

File metadata

  • Download URL: eea.frame-0.5.5.zip
  • Upload date:
  • Size: 12.8 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.1.1 pkginfo/1.4.2 requests/2.22.0 setuptools/45.2.0 requests-toolbelt/0.8.0 tqdm/4.30.0 CPython/3.8.5

File hashes

Hashes for eea.frame-0.5.5.zip
Algorithm Hash digest
SHA256 28a1137dfa21622c232d7b7d03d09e53e3d6751e226de6c9154b2ee9a0a5b3b3
MD5 ced910185b0c867c2b47ec76d1601077
BLAKE2b-256 ad2f3676d8c5ff177dfa3fdabc6b149c23545aab84a3992a88ba1302af40b6ed

See more details on using hashes here.

Supported by

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