面向eea-zope网站的django集成中间件
eea.frame的Python项目详细描述
用于eea zope网站的django集成中间件。
模板和请求
pip install eea.frame
在项目的settings.py中添加:
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', )
另外,通常在local_settings.py中,您需要将FRAME_URL定义为 指向zope框架实例的url,以及 FRAME_COOKIES = ['__ac', '_ZopeId', '__ginger_snap']。
您可以使用FRAME_VERIFY_SSL = False跳过https。
您的layout.html必须扩展"frame.html"才能使用框架。
可以将FRAME_EXTRA_SUBSTITUTIONS设置为要替换的对列表 在框架html中。
身份验证后端
如果要对来自的用户使用django组和权限设置 _ eea.frame,您需要设置:
MIDDLEWARE_CLASSES = ( ... 'django.contrib.auth.middleware.RemoteUserMiddleware', ... ) AUTHENTICATION_BACKENDS = ( 'django.contrib.auth.backends.ModelBackend', 'frame.backends.FrameUserBackend', )
对于在eea.frame上进行身份验证的每个用户, django.contrib.auth.models.User实例已创建。
对于用户在eea.frame中的每个角色,a django.contrib.auth.models.Group实例已创建,您可以分配 对该组的权限。
查看中间件
使用seen中间件为每个用户保留上次访问的日期时间 去申请。
设置(在中间件类设置的末尾):
MIDDLEWARE_CLASSES = ( ... 'frame.middleware.SeenMiddleware', )
如果要使用默认视图,请添加 frame.utils.get_objects_from_last_seen_count到您的url模式,在 位置,例如^/_lastseen/$,然后将FRAME_SEEN_MODELS设置为 要计数的对象对(模型、字段)的列表。
您应该使用FRAME_SEEN_EXCLUDEconfig设置排除此视图。