以下是一个类似的问题:How to share sessions between modules on a Google App Engine Python application?
我有两个模块:default和helloworld
我希望所有myapp.appspot.com/helloworld/*
都被路由到helloworld模块。
dispatch.yaml如下:
application: myapp
dispatch:
- url: "*/helloworld/*"
module: helloworld
当我请求myapp.appspot.com/helloworld/
时,它会被重定向到登录页面,因为我在helloworld.urls中使用@require_login。
helloworld.urls:
from django.contrib.auth.decorators import login_required
urlpatterns = patterns('',
url(r'^$', login_required(views.home.as_view()), name='helloworld-home'),
)
但是,login_require被路由到/ account / login并由默认模块处理,并且helloworld模块不能共享默认模块创建的会话。
因此,我登录后会再次重定向到登录页面。
这是我的wsgi.py
import os, sys
sys.path.append(os.path.join(os.path.dirname(__file__), os.pardir, 'libs'))
os.environ.setdefault("DJANGO_SETTINGS_MODULE", "myapp.settings")
from django.core.wsgi import get_wsgi_application
application = get_wsgi_application()
使用webapp2的可能解决方案会将配置传递给wsgi应用程序:
config['webapp2_extras.sessions'] = {
'secret_key': 'my-super-secret-key',
cookie_args': {
'domain' : "yourapp.appspot.com"
}
但我找不到任何与django相关的文档:(
在GAE中使用django框架时,是否可以在模块之间共享会话?