如何在django etherpad-lite实现中解决KeyError

时间:2018-06-04 15:10:20

标签: python django session cookies etherpad

最近,我一直在尝试将为节点编写的etherpad-lite与Django集成。为此,我找到了django-etherpad-lite - GitHub上的另一个回购。使用两个repos,我尝试使用django实现etherpad。 注意Django版本太旧了 - 1.3,Python - 2.7。

我的代码在我的设备上正常运行但在其他设备上打开以太网垫时会出现KeyError(' sessionID')。让我详细说明我的意思:

假设我有两台计算机A和B连接到公共wifi C.现在为了测试协作编辑,我在A&#39的本地主机上运行了django服务器和节点应用程序。然后我尝试使用A的IP地址和端口在B上运行相同的操作。应用程序运行正常但是当我打开一个新的pad时,我收到了一个KeyError。错误的图像如下:

错误和追溯:

KeyError at /etherpad/2/

'sessionID'

Request Method: GET

Request URL:    http://10.196.21.186:8000/etherpad/2/

Django Version: 1.3

Exception Type: KeyError

Exception Value:'sessionID'

Exception Location: /home/aadarsh/Desktop/Etherpad/etherpadproject/etherpadlite/views.py in pad, line 226


Traceback:
File "/home/aadarsh/Desktop/Etherpad/venv/local/lib/python2.7/site-

packages/django/core/handlers/base.py" in get_response
  111.  response = callback(request, *callback_args,**callback_kwargs)
File "/home/aadarsh/Desktop/Etherpad/venv/local/lib/python2.7/site-packages/django/contrib/auth/decorators.py" in _wrapped_view

  23. return view_func(request, *args, **kwargs)
File "/home/aadarsh/Desktop/Etherpad/etherpadproject/etherpadlite/views.py" in pad

  226.  epclient.deleteSession(request.COOKIES['sessionID'])

Image)。

我的views.py第226行标有:

# Delete the existing session first
if 'padSessionID' in request.COOKIES:
    epclient.deleteSession(request.COOKIES['sessionID']) #Line 226 
    response.delete_cookie('sessionID', server.hostname)
    response.delete_cookie('padSessionID')

# Set the new session cookie for both the server and the local site
response.set_cookie(
    'sessionID',
    value=result['sessionID'],
    expires=expires,
    domain=server.hostname,
    httponly=False
)
response.set_cookie(
    'padSessionID',
    value=result['sessionID'],
    expires=expires,
    httponly=False
)

我试图修复此错误的内容是什么?

Etherpad-lite issues

我还经历了什么?

  1. StackOverflow 1
  2. StackOverflow 2
  3. StackOverflow 3
  4. 我该怎么办?

0 个答案:

没有答案