将Django App转移到生产中的问题

时间:2015-07-27 03:11:44

标签: python django apache solr django-haystack

将Django应用程序从开发服务器移动到生产服务器(Apache)时,我遇到了两个问题。我假设两者都可能与我的Apache配置有关。任何帮助都会很棒。

(1)我使用基于jQuery的Elfinder文件浏览器和yawd-elfinder连接器。在开发服务器上,我可以浏览带有中文字符的文件,但是在Apache服务器上,Elfinder给了我一个错误:

  

无法打开" Folder_Name"。 ascii File_name_with_chinese_   characters.doc ordinal不在范围内(128)

我确保Apache配置选择了UTF-8 CharacterSet。帖子here说类似的问题可能是由语言环境问题造成的......但我不确定如何解决这类问题。有什么想法/建议吗? (你会在那里特别看到yawd-elfinder的引用...我的版本有那个补丁)

(2)我使用Haystack + Solr进行搜索。仅当我将127.0.0.1更改为计算机的IP时,搜索才有效。

HAYSTACK_CONNECTIONS = {
'default': {
    'ENGINE': 'haystack.backends.solr_backend.SolrEngine',
    'URL': 'http://127.0.0.1:8983/solr/test_core_django2'
},

在开发服务器上它很好,为127.0.0.1。这个问题不像我找到一个解决方法那么大,但对我来说有点混乱

1 个答案:

答案 0 :(得分:0)

如果其他人遇到同样的问题,我发现Apache覆盖了语言环境设置。感谢上面的luke_aus,我在Apache和dev上打印出语言环境设置...... Apache / mod_wsgi实例输出为ascii。

此链接介绍了如何修复它:

http://blog.dscpl.com.au/2014/09/setting-lang-and-lcall-when-using.html

具体做法是:

WSGIDaemonProcess my-django-site lang='en_US.UTF-8' locale='en_US.UTF-8'

请注意,这只适用于在守护程序模式下运行wsgi的情况。