Python django模板url标记导致超过最大递归错误
我使用django 1.5.1和django social auth进行社交登录。要获取facebook登录url,我使用Python django模板url标记导致超过最大递归错误,python,django,django-templates,mako,django-socialauth,Python,Django,Django Templates,Mako,Django Socialauth,我使用django 1.5.1和django social auth进行社交登录。要获取facebook登录url,我使用 from django.template import Template, Context facebook_url = Template("{% url 'socialauth_begin' 'facebook' %}").render(Context()) 只得到下面的错误 Template error: In template <unknown source
from django.template import Template, Context
facebook_url = Template("{% url 'socialauth_begin' 'facebook' %}").render(Context())
只得到下面的错误
Template error:
In template <unknown source>, error at line 1
maximum recursion depth exceeded
1 : {% url 'socialauth_begin' 'facebook' %}
模板错误:
在模板中,第1行出现错误
超过最大递归深度
1:{%url'socialauth_begin''facebook%}
它在我的生产服务器和本地dev-box上运行良好,python、django和django social auth版本似乎相同。我试图弄清楚某个库的语法是否发生了变化,在我的测试服务器上,该库的版本可能不同
回溯:
Request Method: GET
Request URL: <<MYSERVERURL>>
Django Version: 1.5.1
Python Version: 2.7.3
Installed Applications:
('django.contrib.auth',
'django.contrib.contenttypes',
'django.contrib.sessions',
'django.contrib.sites',
'django.contrib.messages',
'django.contrib.staticfiles',
'djcelery',
'djcelery_email',
'social_auth',
'myapp',
'postman',
'storages')
Installed Middleware:
('django.middleware.common.CommonMiddleware',
'django.middleware.csrf.CsrfViewMiddleware',
'django.contrib.sessions.middleware.SessionMiddleware',
'django.contrib.auth.middleware.AuthenticationMiddleware',
'django.contrib.messages.middleware.MessageMiddleware',
'djangomako.middleware.MakoMiddleware',
'myapp.myappmiddleware.MYAPPContextMiddleware')
Template error:
In template <unknown source>, error at line 1
maximum recursion depth exceeded
1 : {% url 'socialauth_begin' 'facebook' %}
Traceback:
File "/home/ec2-user/.virtualenvs/MYAPP/lib/python2.7/site-packages/django/core/handlers/base.py" in get_response
121. response = middleware_method(request, e)
File "/home/ec2-user/.virtualenvs/MYAPP/lib/python2.7/site-packages/django/core/handlers/base.py" in get_response
115. response = callback(request, *callback_args, **callback_kwargs)
File "/home/ec2-user/myapppy/myapp/usercontext.py" in _wrapped_func
282. return func(request, *args, **kwargs)
File "/home/ec2-user/myapppy/myapp/pageviews.py" in usersignin
58. facebook_url = Template("{% url 'socialauth_begin' 'facebook' %}").render(Context())
File "/home/ec2-user/.virtualenvs/MYAPP/lib/python2.7/site-packages/django/template/base.py" in render
140. return self._render(context)
File "/home/ec2-user/.virtualenvs/MYAPP/lib/python2.7/site-packages/django/template/base.py" in _render
134. return self.nodelist.render(context)
File "/home/ec2-user/.virtualenvs/MYAPP/lib/python2.7/site-packages/django/template/base.py" in render
830. bit = self.render_node(node, context)
File "/home/ec2-user/.virtualenvs/MYAPP/lib/python2.7/site-packages/django/template/debug.py" in render_node
74. return node.render(context)
File "/home/ec2-user/.virtualenvs/MYAPP/lib/python2.7/site-packages/django/template/defaulttags.py" in render
411. url = reverse(view_name, args=args, kwargs=kwargs, current_app=context.current_app)
File "/home/ec2-user/.virtualenvs/MYAPP/lib/python2.7/site-packages/django/core/urlresolvers.py" in reverse
496. return iri_to_uri(resolver._reverse_with_prefix(view, prefix, *args, **kwargs))
File "/home/ec2-user/.virtualenvs/MYAPP/lib/python2.7/site-packages/django/core/urlresolvers.py" in _reverse_with_prefix
382. possibilities = self.reverse_dict.getlist(lookup_view)
File "/home/ec2-user/.virtualenvs/MYAPP/lib/python2.7/site-packages/django/core/urlresolvers.py" in reverse_dict
297. self._populate()
File "/home/ec2-user/.virtualenvs/MYAPP/lib/python2.7/site-packages/django/core/urlresolvers.py" in _populate
274. for name in pattern.reverse_dict:
File "/home/ec2-user/.virtualenvs/MYAPP/lib/python2.7/site-packages/django/core/urlresolvers.py" in reverse_dict
297. self._populate()
File "/home/ec2-user/.virtualenvs/MYAPP/lib/python2.7/site-packages/django/core/urlresolvers.py" in _populate
286. lookups.appendlist(pattern.callback, (bits, p_pattern, pattern.default_args))
File "/home/ec2-user/.virtualenvs/MYAPP/lib/python2.7/site-packages/django/core/urlresolvers.py" in callback
230. self._callback = get_callable(self._callback_str)
File "/home/ec2-user/.virtualenvs/MYAPP/lib/python2.7/site-packages/django/utils/functional.py" in wrapper
29. result = func(*args)
File "/home/ec2-user/.virtualenvs/MYAPP/lib/python2.7/site-packages/django/core/urlresolvers.py" in get_callable
97. mod = import_module(mod_name)
File "/home/ec2-user/.virtualenvs/MYAPP/lib/python2.7/site-packages/django/utils/importlib.py" in import_module
35. __import__(name)
File "/home/ec2-user/myapppy/postman/views.py" in <module>
24. from postman.forms import WriteForm, AnonymousWriteForm, QuickReplyForm, FullReplyForm
File "/home/ec2-user/myapppy/postman/forms.py" in <module>
28. class BaseWriteForm(GenericForms.ModelForm):
File "/home/ec2-user/.virtualenvs/MYAPP/lib/python2.7/site-packages/mongodbforms/documents.py" in __new__
307. opts = new_class._meta = ModelFormOptions(getattr(new_class, 'Meta', None))
File "/home/ec2-user/.virtualenvs/MYAPP/lib/python2.7/site-packages/mongodbforms/documents.py" in __init__
283. self.document._meta = DocumentMetaWrapper(self.document)
File "/home/ec2-user/.virtualenvs/MYAPP/lib/python2.7/site-packages/mongodbforms/documentoptions.py" in __init__
71. self._setup_document_fields()
File "/home/ec2-user/.virtualenvs/MYAPP/lib/python2.7/site-packages/mongodbforms/documentoptions.py" in _setup_document_fields
97. f.document_type._meta = DocumentMetaWrapper(f.document_type)
File "/home/ec2-user/.virtualenvs/MYAPP/lib/python2.7/site-packages/mongodbforms/documentoptions.py" in __init__
71. self._setup_document_fields()
File "/home/ec2-user/.virtualenvs/MYAPP/lib/python2.7/site-packages/mongodbforms/documentoptions.py" in _setup_document_fields
97. f.document_type._meta = DocumentMetaWrapper(f.document_type)
File "/home/ec2-user/.virtualenvs/MYAPP/lib/python2.7/site-packages/mongodbforms/documentoptions.py" in __init__
71. self._setup_document_fields()
File "/home/ec2-user/.virtualenvs/MYAPP/lib/python2.7/site-packages/mongodbforms/documentoptions.py" in _setup_document_fields
97. f.document_type._meta = DocumentMetaWrapper(f.document_type)
File "/home/ec2-user/.virtualenvs/MYAPP/lib/python2.7/site-packages/mongodbforms/documentoptions.py" in __init__
71. self._setup_document_fields()
File "/home/ec2-user/.virtualenvs/MYAPP/lib/python2.7/site-packages/mongodbforms/documentoptions.py" in _setup_document_fields
97. f.document_type._meta = DocumentMetaWrapper(f.document_type)
File "/home/ec2-user/.virtualenvs/MYAPP/lib/python2.7/site-packages/mongodbforms/documentoptions.py" in __init__
71. self._setup_document_fields()
<<<REPEATS>>>>>
File "/home/ec2-user/.virtualenvs/MYAPP/lib/python2.7/site-packages/mongodbforms/documentoptions.py" in _setup_document_fields
97. f.document_type._meta = DocumentMetaWrapper(f.document_type)
File "/home/ec2-user/.virtualenvs/MYAPP/lib/python2.7/site-packages/mongodbforms/documentoptions.py" in __init__
71. self._setup_document_fields()
File "/home/ec2-user/.virtualenvs/MYAPP/lib/python2.7/site-packages/mongodbforms/documentoptions.py" in _setup_document_fields
97. f.document_type._meta = DocumentMetaWrapper(f.document_type)
File "/home/ec2-user/.virtualenvs/MYAPP/lib/python2.7/site-packages/mongodbforms/documentoptions.py" in __init__
71. self._setup_document_fields()
File "/home/ec2-user/.virtualenvs/MYAPP/lib/python2.7/site-packages/mongodbforms/documentoptions.py" in _setup_document_fields
97. f.document_type._meta = DocumentMetaWrapper(f.document_type)
File "/home/ec2-user/.virtualenvs/MYAPP/lib/python2.7/site-packages/mongodbforms/documentoptions.py" in __init__
71. self._setup_document_fields()
File "/home/ec2-user/.virtualenvs/MYAPP/lib/python2.7/site-packages/mongodbforms/documentoptions.py" in _setup_document_fields
97. f.document_type._meta = DocumentMetaWrapper(f.document_type)
File "/home/ec2-user/.virtualenvs/MYAPP/lib/python2.7/site-packages/mongodbforms/documentoptions.py" in __init__
71. self._setup_document_fields()
71. self._setup_document_fields()
File "/home/ec2-user/.virtualenvs/MYAPP/lib/python2.7/site-packages/mongodbforms/documentoptions.py" in _setup_document_fields
97. f.document_type._meta = DocumentMetaWrapper(f.document_type)
File "/home/ec2-user/.virtualenvs/MYAPP/lib/python2.7/site-packages/mongodbforms/documentoptions.py" in __init__
71. self._setup_document_fields()
File "/home/ec2-user/.virtualenvs/MYAPP/lib/python2.7/site-packages/mongodbforms/documentoptions.py" in _setup_document_fields
97. f.document_type._meta = DocumentMetaWrapper(f.document_type)
File "/home/ec2-user/.virtualenvs/MYAPP/lib/python2.7/site-packages/mongodbforms/documentoptions.py" in __init__
71. self._setup_document_fields()
File "/home/ec2-user/.virtualenvs/MYAPP/lib/python2.7/site-packages/mongodbforms/documentoptions.py" in _setup_document_fields
97. f.document_type._meta = DocumentMetaWrapper(f.document_type)
File "/home/ec2-user/.virtualenvs/MYAPP/lib/python2.7/site-packages/mongodbforms/documentoptions.py" in __init__
71. self._setup_document_fields()
File "/home/ec2-user/.virtualenvs/MYAPP/lib/python2.7/site-packages/mongodbforms/documentoptions.py" in _setup_document_fields
96. if isinstance(f, ReferenceField) and not isinstance(f.document_type._meta, DocumentMetaWrapper):
File "/home/ec2-user/.virtualenvs/MYAPP/lib64/python2.7/abc.py" in __instancecheck__
132. if subclass is not None and subclass in cls._abc_cache:
Exception Type: RuntimeError at /signin
Exception Value: maximum recursion depth exceeded
请求方法:获取
请求URL:
Django版本:1.5.1
Python版本:2.7.3
已安装的应用程序:
(“django.contrib.auth”,
“django.contrib.contenttypes”,
“django.contrib.sessions”,
“django.contrib.sites”,
“django.contrib.messages”,
“django.contrib.staticfiles”,
“芹菜”,
“djcelery_电子邮件”,
“社会授权”,
“myapp”,
“邮递员”,
"仓库")
已安装的中间件:
('django.middleware.common.CommonMiddleware',
“django.middleware.csrf.CsrfViewMiddleware”,
“django.contrib.sessions.middleware.SessionMiddleware”,
'django.contrib.auth.middleware.AuthenticationMiddleware',
'django.contrib.messages.middleware.MessageMiddleware',
“djangomako.middleware.Makomidware”,
“myapp.myappmiddleware.MYAPPContextMiddleware')
模板错误:
在模板中,第1行出现错误
超过最大递归深度
1:{%url'socialauth_begin''facebook%}
回溯:
get_响应中的文件“/home/ec2 user/.virtualenvs/MYAPP/lib/python2.7/site packages/django/core/handlers/base.py”
121响应=中间件\方法(请求,e)
get_响应中的文件“/home/ec2 user/.virtualenvs/MYAPP/lib/python2.7/site packages/django/core/handlers/base.py”
115响应=回调(请求,*回调参数,**回调参数)
函数中的文件“/home/ec2 user/myapppy/myapp/usercontext.py”
282返回函数(请求、*args、**kwargs)
usersignin中的文件“/home/ec2 user/myapppy/myapp/pageviews.py”
58facebook\u url=Template(“{%url”socialauth\u begin“facebook”%}”)。呈现(Context())
render中的文件“/home/ec2 user/.virtualenvs/MYAPP/lib/python2.7/site packages/django/template/base.py”
140返回self.\u呈现(上下文)
文件“/home/ec2 user/.virtualenvs/MYAPP/lib/python2.7/site packages/django/template/base.py”在_render中
134返回self.nodelist.render(上下文)
render中的文件“/home/ec2 user/.virtualenvs/MYAPP/lib/python2.7/site packages/django/template/base.py”
830bit=self.render_节点(节点,上下文)
render_节点中的文件“/home/ec2 user/.virtualenvs/MYAPP/lib/python2.7/site packages/django/template/debug.py”
74返回node.render(上下文)
render中的文件“/home/ec2 user/.virtualenvs/MYAPP/lib/python2.7/site packages/django/template/defaulttags.py”
411url=reverse(查看\名称,args=args,kwargs=kwargs,当前\应用程序=上下文。当前\应用程序)
文件“/home/ec2 user/.virtualenvs/MYAPP/lib/python2.7/site packages/django/core/urlresolvers.py”的格式相反
496将iri_返回到_uri(解析器。_使用_前缀反向_(视图,前缀,*args,**kwargs))
文件“/home/ec2 user/.virtualenvs/MYAPP/lib/python2.7/site packages/django/core/urlresolvers.py”位于带前缀的\u reverse\u中
382可能性=self.reverse\u dict.getlist(查找视图)
文件“/home/ec2 user/.virtualenvs/MYAPP/lib/python2.7/site packages/django/core/urlresolvers.py”,格式相反
297自我.()
文件“/home/ec2 user/.virtualenvs/MYAPP/lib/python2.7/site packages/django/core/urlresolvers.py”位于
274对于pattern.reverse_dict中的名称:
文件“/home/ec2 user/.virtualenvs/MYAPP/lib/python2.7/site packages/django/core/urlresolvers.py”,格式相反
297自我.()
文件“/home/ec2 user/.virtualenvs/MYAPP/lib/python2.7/site packages/django/core/urlresolvers.py”位于
286appendlist(pattern.callback,(bits,p_pattern,pattern.default_args))
回调中的文件“/home/ec2 user/.virtualenvs/MYAPP/lib/python2.7/site packages/django/core/urlresolvers.py”
230self.\u callback=get\u callable(self.\u callback\u str)
包装器中的文件“/home/ec2 user/.virtualenvs/MYAPP/lib/python2.7/site packages/django/utils/functional.py”
29结果=func(*args)
get_callable中的文件“/home/ec2 user/.virtualenvs/MYAPP/lib/python2.7/site packages/django/core/urlresolvers.py”
97mod=导入模块(mod\u名称)
导入模块中的文件“/home/ec2 user/.virtualenvs/MYAPP/lib/python2.7/site packages/django/utils/importlib.py”
35. __导入(名称)
文件“/home/ec2 user/myapppy/postman/views.py”
24从postman.forms导入WriteForm、匿名WriteForm、QuickReplyForm、FullReplyForm
文件“/home/ec2 user/myapppy/postman/forms.py”
28类BaseWriteForm(GenericForms.ModelForm):
文件“/home/ec2 user/.virtualenvs/MYAPP/lib/python2.7/site packages/mongodbforms/documents.py”,位于新的__
307opts=new_类。_meta=ModelFormOptions(getattr(new_类,'meta',None))
init中的文件“/home/ec2 user/.virtualenvs/MYAPP/lib/python2.7/site packages/mongodbforms/documents.py”__
283self.document.\u meta=DocumentMetaWrapper(self.document)
init中的文件“/home/ec2 user/.virtualenvs/MYAPP/lib/python2.7/site packages/mongodbforms/documentoptions.py”__
71self.\u设置\u文档\u字段()
文件“/home/ec2 user/.virtualenvs/MYAPP/lib/python2.7/site packages/mongodbforms/documentoptions.py”,位于\u setup\u document\u字段中
97f、 document\u type.\u meta=DocumentMetaWrapper(f.document\u type)
init中的文件“/home/ec2 user/.virtualenvs/MYAPP/lib/python2.7/site packages/mongodbforms/documentoptions.py”__
71self.\u设置\u文档\u字段()
文件“/home/ec2 user/.virtualenvs/MYAPP/lib/python2.7/site packages/mongodbforms/documentoptions.py”