在推送到站点的实时版本之前,我正尝试在本地测试我的实验,所以我的实验的目标是: localhost:8000/ (简单匹配)但是实验预览没有加载。如果我指向网站的实时版本,它工作得很好。
这是一个django应用程序,当我转到localhost:8000时查看源代码,在浏览器中我可以看到optimizely代码片段存在。
这是我来自django的堆栈跟踪
self.finish_request(request, client_address)
File "/usr/local/Cellar/python/2.7.9/Frameworks/Python.framework/Versions/2.7/lib/python2.7/SocketServer.py", line 334, in finish_request
self.RequestHandlerClass(request, client_address, self)
File "/Users/james/pubfront/riidr_venv/lib/python2.7/site-packages/django/core/servers/basehttp.py", line 126, in __init__
Exception happened during processing of request from ('127.0.0.1', 59660)
super(WSGIRequestHandler, self).__init__(*args, **kwargs)
File "/usr/local/Cellar/python/2.7.9/Frameworks/Python.framework/Versions/2.7/lib/python2.7/SocketServer.py", line 655, in __init__
self.handle()
Traceback (most recent call last):
File "/usr/local/Cellar/python/2.7.9/Frameworks/Python.framework/Versions/2.7/lib/python2.7/SocketServer.py", line 599, in process_request_thread
File "/usr/local/Cellar/python/2.7.9/Frameworks/Python.framework/Versions/2.7/lib/python2.7/wsgiref/simple_server.py", line 124, in handle
self.finish_request(request, client_address)
if not self.parse_request(): # An error code has been sent, just exit
File "/usr/local/Cellar/python/2.7.9/Frameworks/Python.framework/Versions/2.7/lib/python2.7/BaseHTTPServer.py", line 286, in parse_request
File "/usr/local/Cellar/python/2.7.9/Frameworks/Python.framework/Versions/2.7/lib/python2.7/SocketServer.py", line 334, in finish_request
self.send_error(400, "Bad request syntax (%r)" % requestline)
File "/usr/local/Cellar/python/2.7.9/Frameworks/Python.framework/Versions/2.7/lib/python2.7/BaseHTTPServer.py", line 368, in send_error
self.RequestHandlerClass(request, client_address, self)
File "/Users/james/pubfront/riidr_venv/lib/python2.7/site-packages/django/core/servers/basehttp.py", line 126, in __init__
self.send_response(code, message)
File "/usr/local/Cellar/python/2.7.9/Frameworks/Python.framework/Versions/2.7/lib/python2.7/BaseHTTPServer.py", line 385, in send_response
super(WSGIRequestHandler, self).__init__(*args, **kwargs)
self.log_request(code)
File "/usr/local/Cellar/python/2.7.9/Frameworks/Python.framework/Versions/2.7/lib/python2.7/SocketServer.py", line 655, in __init__
File "/usr/local/Cellar/python/2.7.9/Frameworks/Python.framework/Versions/2.7/lib/python2.7/BaseHTTPServer.py", line 422, in log_request
self.handle()
File "/usr/local/Cellar/python/2.7.9/Frameworks/Python.framework/Versions/2.7/lib/python2.7/wsgiref/simple_server.py", line 124, in handle
self.requestline, str(code), str(size))
File "/Users/james/pubfront/riidr_venv/lib/python2.7/site-packages/django/core/servers/basehttp.py", line 138, in log_message
msg = "[%s] %s\n" % (self.log_date_time_string(), format % args)
UnicodeDecodeError: 'ascii' codec can't decode byte 0xd0 in position 5: ordinal not in range(128)
我怀疑这是代码的问题,因为它在实时版本中工作得很好,我想我一定是遗漏了一些与优化指向localhost有关的东西。
我认为这可能是一些安全问题或中间件问题,但我没有任何运气来识别它。
站点上的中间件有:
89: "tools.middleware.ContentLengthWriter",
90: "stats.middleware.LastActivityMiddleware",
91: "django.middleware.common.CommonMiddleware",
92: "django.contrib.sessions.middleware.SessionMiddleware",
93: "django.middleware.csrf.CsrfViewMiddleware",
94: "django.contrib.auth.middleware.AuthenticationMiddleware",
95: "mobile.middleware.MobileMiddleware",
96: "tools.recently_viewed.RecentlyViewedMiddleware",
97: "django.contrib.messages.middleware.MessageMiddleware",
98: "pagination.middleware.PaginationMiddleware",
99: "django.middleware.transaction.TransactionMiddleware",
100: "tools.middleware.UserBasedExceptionMiddleware",
101: "tools.middleware.ExceptionMiddleware",
102: "django.contrib.redirects.middleware.RedirectFallbackMiddleware",
103: "tools.middleware.ReadOnlyMiddleware",
发布于 2015-05-15 01:33:47
这个问题已经在较新版本Django (https://code.djangoproject.com/ticket/23398)中得到了修复
该错误与使用HTTPS与localhost有关。
https://stackoverflow.com/questions/28765624
复制相似问题