如何使用django框架在Google App Engine Python应用程序之间共享模块之间的会话?

时间:2015-10-20 10:15:50

标签: python google-app-engine session

以下是一个类似的问题: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框架时,是否可以在模块之间共享会话?

0 个答案:

没有答案