我使用django-endless-pagination与twitter风格为我的网站,它在开发中工作得很好,但当我移动到生产它甚至不显示条目。我正在使用webfaction,下面是我所采取的行动列表。
1) PYTHONPATH=$HOME/webapps/csiop/lib/python2.7 easy_install-2.7——install-dir=$HOME/webapps/csiop/lib/python2.7——script-dir=$HOME/webapps/csiop/bin django-endless-pagination2) python manage.py syncdb3)在settings.py和settings.py
中添加endless_pagination PAGINATION_SETTINGS = {
'PAGE_RANGE_DISPLAYED': 10,
'MARGIN_PAGES_DISPLAYED': 2,
}
4)我的views.py修改如下
def homepage(request):
item_list = items.objects.filter(show_on_website=True)
template = 'homepage.html'
page_template = 'home_page_index.html'
if request.is_ajax():
template = page_template
return render_to_response(template,
{'page_template': page_template,
'item_list': item_list},
context_instance=RequestContext(request))
5)我的模板如下所示。
Homepage.html: -
<h2>Entries:</h2>
{% include page_template %}
{% block js %}
{{ block.super }}
<script src="http://code.jquery.com/jquery-latest.js"></script>
<script src="{{ STATIC_URL }}endless_pagination/js/endless-pagination.js"></script>
<script>$.endlessPaginate();</script>
{% endblock %}
home_page_index.html: -
{% load endless %}
{% lazy_paginate entries %}
{% for entry in entries %}
{# your code to show the entry #}
{% endfor %}
{% show_more " " %}
上面的代码在我的开发中工作得很好,但在生产中不行。有人能帮我吗?
编辑:-如果我在开发环境中将调试模式设置为False,我会得到以下错误。我在网站上使用django-seo,它似乎在抱怨,但我不确定这个错误到底是什么。
Traceback (most recent call last):
File "/System/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/wsgiref/handlers.py", line 85, in run
self.result = application(self.environ, self.start_response)
File "/Users/django1.5/django1.5_ve/lib/python2.7/site- packages/django/core/handlers/wsgi.py", line 255, in __call__
response = self.get_response(request)
File "/Users/django1.5/django1.5_ve/lib/python2.7/site-packages/django/core/handlers/base.py", line 178, in get_response
response = self.handle_uncaught_exception(request, resolver, sys.exc_info())
File "/Users/django1.5/django1.5_ve/lib/python2.7/site-packages/django/core/handlers/base.py", line 224, in handle_uncaught_exception
return callback(request, **param_dict)
File "/Users/django1.5/django1.5_ve/lib/python2.7/site-packages/django/utils/decorators.py", line 91, in _wrapped_view
response = view_func(request, *args, **kwargs)
File "/Users/django1.5/django1.5_ve/lib/python2.7/site-packages/django/views/defaults.py", line 41, in server_error
return http.HttpResponseServerError(template.render(Context({})))
File "/Users/django1.5/django1.5_ve/lib/python2.7/site-packages/django/template/base.py", line 140, in render
return self._render(context)
File "/Users/django1.5/django1.5_ve/lib/python2.7/site-packages/django/template/base.py", line 134, in _render
return self.nodelist.render(context)
File "/Users/django1.5/django1.5_ve/lib/python2.7/site-packages/django/template/base.py", line 830, in render
bit = self.render_node(node, context)
File "/Users/django1.5/django1.5_ve/lib/python2.7/site-packages/django/template/base.py", line 844, in render_node
return node.render(context)
File "/Users/django1.5/django1.5_ve/lib/python2.7/site-packages/django/template/loader_tags.py", line 124, in render
return compiled_parent._render(context)
File "/Users/django1.5/django1.5_ve/lib/python2.7/site-packages/django/template/base.py", line 134, in _render
return self.nodelist.render(context)
File "/Users/django1.5/django1.5_ve/lib/python2.7/site-packages/django/template/base.py", line 830, in render
bit = self.render_node(node, context)
File "/Users/django1.5/django1.5_ve/lib/python2.7/site-packages/django/template/base.py", line 844, in render_node
return node.render(context)
File "/Users/django1.5/django1.5_ve/lib/python2.7/site-packages/rollyourown/seo/templatetags/seo.py", line 25, in render
raise template.TemplateSyntaxError(msg)
TemplateSyntaxError: {% get_metadata %} needs some path information.
Please use RequestContext with the django.core.context_processors.request context processor.
Or provide a path or object explicitly, eg {% get_metadata for path %} or {% get_metadata for object %}
[09/Apr/2013 18:22:49] "GET / HTTP/1.1" 500 59
谢谢
当你关闭调试模式时,Django会停止为你处理静态文件。在远程主机上,您需要在settings和manage.py collectstatic中设置STATIC_ROOT路径。你也可以看看这个问题。
我重新安装了django-endless-pagination使用pip而不是easy-install,它现在工作正常。看起来问题是因为我安装了easy-install之前没有-Z。