Я только что установил django-cnotes Но он не будет работать. Он просто бросает эту ошибкуdjango cnotes не работает
Traceback (самый последний вызов в прошлом):
File "/Library/Python/2.5/site-packages/django/core/servers/basehttp.py", line 279, in run
self.result = application(self.environ, self.start_response)
File "/Library/Python/2.5/site-packages/django/core/servers/basehttp.py", line 651, in __call__
return self.application(environ, start_response)
File "/Library/Python/2.5/site-packages/django/core/handlers/wsgi.py", line 245, in __call__
response = middleware_method(request, response)
File "/Library/Python/2.5/site-packages/django_cnote-0.3.4-py2.5.egg/cnotes/middleware.py", line 47, in process_response
signed_data = self.sign('cnotes', base64.urlsafe_b64encode(Pickle.dumps(cnotes.cnotes)))
PicklingError: Can't pickle <class 'django.utils.functional.__proxy__'>: attribute lookup django.utils.functional.__proxy__ failed
И даже не в обычных страницах отладки ошибок Джанго. То, что вы видите выше, есть все, что есть на экране.
И я только что использовал его, как описано в github, я просто не понимаю. У кого-нибудь есть идея, что вызывает это?
UPDATE: Хорошо, поэтому я нашел что-то, я думаю.
message = _("You have successfully altered ")
message += edituser.username
cnotes.add(message)
message2 = _("You may now close ")
cnotes.add(message2)
Это приведет к ошибке. Поэтому я подумал: «Хорошо, я могу назвать это только один раз за просмотр». Это было бы глупо, и это действительно не было причиной.
Следующий код не будет производить без ошибки
message = _("You have successfully altered ")
message += edituser.username
cnotes.add(message)
message2 = '_("You may now close ")'
cnotes.add(message2)
Но не из-за перевода он использует, что тонкодисперсных всего 2 строки выше, но это должно быть что-то с выполнением другой перевод или что-то. Я потерялся.
Это помогло. Просто заполнить решение для кого-то еще, чтобы найти, хотя он мертв просто (ofc). При добавлении экземпляра пользователя (или его части) он превращает всю переменную в unnicode, но я не делал этого во второй раз, из-за чего я его не поймал. Напомним: преобразовать переведенные объекты в unicode или строки перед отправкой их в cnotes. Я просто сделал unicode (_ («Теперь вы можете закрыть»)), и все получилось отлично. Jack M. Если бы вы могли добавить решение к своему ответу, я могу отметить его как принятый для следующего новичка. Большое спасибо –