我得到一个TemplateSyntaxError,这只发生在我的开发服务器上,但在本地的django测试服务器上正常工作。Django TemplateSyntaxError
这里的错误
Caught SyntaxError while rendering: invalid syntax (urls.py, line 1)
和HTML:
<li><a href="{% url plan.views.profile %}">Plan Details</a></li>
,这里是纵断面图:
@login_required
def profile(request):
...
这里的回溯:
Traceback:
File "/django/lib/python2.5/django/core/handlers/base.py" in get_response
100. response = callback(request, *callback_args, **callback_kwargs)
File "/django/lib/python2.5/django/contrib/auth/decorators.py" in _wrapped_view
25. return view_func(request, *args, **kwargs)
File "/django/myapp/plan/views.py" in profile
121. }, context_instance=RequestContext(request))
File "/django/lib/python2.5/django/shortcuts/__init__.py" in render_to_response
20. return HttpResponse(loader.render_to_string(*args, **kwargs), **httpresponse_kwargs)
File "/django/lib/python2.5/django/template/loader.py" in render_to_string
186. return t.render(context_instance)
File "/django/lib/python2.5/django/template/__init__.py" in render
173. return self._render(context)
File "/django/lib/python2.5/django/template/__init__.py" in _render
167. return self.nodelist.render(context)
File "/django/lib/python2.5/django/template/__init__.py" in render
796. bits.append(self.render_node(node, context))
File "/django/lib/python2.5/django/template/debug.py" in render_node
72. result = node.render(context)
File "/django/lib/python2.5/django/template/loader_tags.py" in render
125. return compiled_parent._render(context)
File "/django/lib/python2.5/django/template/__init__.py" in _render
167. return self.nodelist.render(context)
File "/django/lib/python2.5/django/template/__init__.py" in render
796. bits.append(self.render_node(node, context))
File "/django/lib/python2.5/django/template/debug.py" in render_node
72. result = node.render(context)
File "/django/lib/python2.5/django/template/loader_tags.py" in render
62. result = block.nodelist.render(context)
File "/django/lib/python2.5/django/template/__init__.py" in render
796. bits.append(self.render_node(node, context))
File "/django/lib/python2.5/django/template/debug.py" in render_node
72. result = node.render(context)
File "/django/lib/python2.5/django/template/loader_tags.py" in render
139. return self.template.render(context)
File "/django/lib/python2.5/django/template/__init__.py" in render
173. return self._render(context)
File "/django/lib/python2.5/django/template/__init__.py" in _render
167. return self.nodelist.render(context)
File "/django/lib/python2.5/django/template/__init__.py" in render
796. bits.append(self.render_node(node, context))
File "/django/lib/python2.5/django/template/debug.py" in render_node
72. result = node.render(context)
File "/django/lib/python2.5/django/template/defaulttags.py" in render
253. return self.nodelist_false.render(context)
File "/django/lib/python2.5/django/template/__init__.py" in render
796. bits.append(self.render_node(node, context))
File "/django/lib/python2.5/django/template/debug.py" in render_node
72. result = node.render(context)
File "/django/lib/python2.5/django/template/defaulttags.py" in render
253. return self.nodelist_false.render(context)
File "/django/lib/python2.5/django/template/__init__.py" in render
796. bits.append(self.render_node(node, context))
File "/django/lib/python2.5/django/template/debug.py" in render_node
72. result = node.render(context)
File "/django/lib/python2.5/django/template/defaulttags.py" in render
251. return self.nodelist_true.render(context)
File "/django/lib/python2.5/django/template/__init__.py" in render
796. bits.append(self.render_node(node, context))
File "/django/lib/python2.5/django/template/debug.py" in render_node
72. result = node.render(context)
File "/django/lib/python2.5/django/template/defaulttags.py" in render
366. url = reverse(self.view_name, args=args, kwargs=kwargs, current_app=context.current_app)
File "/django/lib/python2.5/django/core/urlresolvers.py" in reverse
350. *args, **kwargs)))
File "/django/lib/python2.5/django/core/urlresolvers.py" in reverse
271. possibilities = self.reverse_dict.getlist(lookup_view)
File "/django/lib/python2.5/django/core/urlresolvers.py" in _get_reverse_dict
193. self._populate()
File "/django/lib/python2.5/django/core/urlresolvers.py" in _populate
173. for name in pattern.reverse_dict:
File "/django/lib/python2.5/django/core/urlresolvers.py" in _get_reverse_dict
193. self._populate()
File "/django/lib/python2.5/django/core/urlresolvers.py" in _populate
162. for pattern in reversed(self.url_patterns):
File "/django/lib/python2.5/django/core/urlresolvers.py" in _get_url_patterns
243. patterns = getattr(self.urlconf_module, "urlpatterns", self.urlconf_module)
File "/django/lib/python2.5/django/core/urlresolvers.py" in _get_urlconf_module
238. self._urlconf_module = import_module(self.urlconf_name)
File "/django/lib/python2.5/django/utils/importlib.py" in import_module
35. __import__(name)
我检查了我的urls.py文件,它很好。第一行是:
from django.conf.urls.defaults import *
我认为我的网址模式很好,因为它在本地工作正常,我认为如果我在urls.py文件中犯了一个语法错误,django会抛出一个不同的错误。 – imns 2010-09-27 20:49:29
不一定。你可以有一个'url()',它可以很好地服务于页面(转发分辨率),但不能用'reverse()';正向和反向分辨率是相对独立的。请粘贴具有'plan.views.profile'视图的'urls.py'中的行。 – 2010-09-27 20:53:04
尝试ars的建议,如果它不起作用粘贴urls.py - 这就是我现在可以告诉的。 – bx2 2010-09-27 20:53:40