0

我正在尝试设置django-openid-auth我的 django 项目。我已按照所提供指南的步骤 1-8 进行操作,并尝试/openid/login/在我的服务器上进行操作。但是,当我转到该页面时,我看到

TemplateSyntaxError at /openid/login/
Could not parse the remainder: '-logo' from 'openid-logo'. The syntax of 'url' changed in Django 1.5, see the docs.

我有点困惑,因为这是在应用程序中包含的模板中 - 我自己没有编写模板。如果有人知道我做错了什么,我真的很感激一些帮助。

这是我的堆栈跟踪:

Environment:


Request Method: GET
Request URL: http://localhost:8000/openid/login/

Django Version: 1.5.2
Python Version: 2.7.5
Installed Applications:
('django.contrib.auth',
 'django.contrib.contenttypes',
 'django.contrib.sessions',
 'django.contrib.sites',
 'django.contrib.messages',
 'django.contrib.staticfiles',
 'django.contrib.admin',
 'django.contrib.admindocs',
 'wseeruploader.apps.fileupload',
 'django_openid_auth',
 'crispy_forms')
Installed Middleware:
('django.middleware.common.CommonMiddleware',
 'django.contrib.sessions.middleware.SessionMiddleware',
 'django.middleware.csrf.CsrfViewMiddleware',
 'django.contrib.auth.middleware.AuthenticationMiddleware',
 'django.contrib.messages.middleware.MessageMiddleware')


Template error:
In template /usr/lib/python2.7/site-packages/django_openid_auth/templates/openid/login.html, error at line 8
   Could not parse the remainder: '-logo' from 'openid-logo'. The syntax of 'url' changed in Django 1.5, see the docs.
   1 : {% load i18n %}


   2 : <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd">


   3 : <html>


   4 : <head>


   5 : <title>Sign in with your OpenID</title>


   6 : <style type="text/css">


   7 : input.openid {


   8 :     background: url( {% url openid-logo %} ) no-repeat;


   9 :     background-position: 0 50%;


   10 :     padding-left: 16px;


   11 : }


   12 : </style>


   13 : </head>


   14 : <body>


   15 : <h1>Sign in with your OpenID</h1>


   16 : {% if form.errors %}


   17 : <p class="errors">{% trans "Please correct errors below:" %}<br />


   18 :     {% if form.openid_identifier.errors %}


Traceback:
File "/usr/lib/python2.7/site-packages/django/core/handlers/base.py" in get_response
  115.                         response = callback(request, *callback_args, **callback_kwargs)
File "/usr/lib/python2.7/site-packages/django_openid_auth/views.py" in login_begin
  171.                     }, context_instance=RequestContext(request))
File "/usr/lib/python2.7/site-packages/django/shortcuts/__init__.py" in render_to_response
  29.     return HttpResponse(loader.render_to_string(*args, **kwargs), **httpresponse_kwargs)
File "/usr/lib/python2.7/site-packages/django/template/loader.py" in render_to_string
  170.         t = get_template(template_name)
File "/usr/lib/python2.7/site-packages/django/template/loader.py" in get_template
  146.     template, origin = find_template(template_name)
File "/usr/lib/python2.7/site-packages/django/template/loader.py" in find_template
  135.             source, display_name = loader(name, dirs)
File "/usr/lib/python2.7/site-packages/django/template/loader.py" in __call__
  43.         return self.load_template(template_name, template_dirs)
File "/usr/lib/python2.7/site-packages/django/template/loader.py" in load_template
  49.             template = get_template_from_string(source, origin, template_name)
File "/usr/lib/python2.7/site-packages/django/template/loader.py" in get_template_from_string
  157.     return Template(source, origin, name)
File "/usr/lib/python2.7/site-packages/django/template/base.py" in __init__
  125.         self.nodelist = compile_string(template_string, origin)
File "/usr/lib/python2.7/site-packages/django/template/base.py" in compile_string
  153.     return parser.parse()
File "/usr/lib/python2.7/site-packages/django/template/base.py" in parse
  274.                     compiled_result = compile_func(self, token)
File "/usr/lib/python2.7/site-packages/django/template/defaulttags.py" in url
  1266.         viewname = parser.compile_filter(bits[1])
File "/usr/lib/python2.7/site-packages/django/template/base.py" in compile_filter
  353.         return FilterExpression(token, self)
File "/usr/lib/python2.7/site-packages/django/template/base.py" in __init__
  570.                                       "from '%s'" % (token[upto:], token))

Exception Type: TemplateSyntaxError at /openid/login/
Exception Value: Could not parse the remainder: '-logo' from 'openid-logo'. The syntax of 'url' changed in Django 1.5, see the docs.
4

1 回答 1

0

由于您使用的是 django-1.5

你应该改变:

{% url openid-logo %} 

{% url 'openid-logo' %} 

相关文档可以在发行说明中找到

这样做的结果是,如果您没有在模板中使用 {% load url from future %},则需要将 {% url myview %} 等标签更改为 {% url "myview" %}。如果您使用 {% load url from future %} 您可以简单地在 Django 1.5 下删除该行

于 2013-11-13T04:06:05.210 回答