Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/django/21.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/sql-server-2008/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
django openid身份验证:模板语法错误_Django_Django Templates_Django Openid Auth - Fatal编程技术网

django openid身份验证:模板语法错误

django openid身份验证:模板语法错误,django,django-templates,django-openid-auth,Django,Django Templates,Django Openid Auth,我正试图在我的django项目上设置django openid auth。我已经按照的步骤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.

我正试图在我的django项目上设置
django openid auth
。我已经按照的步骤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.
我有点困惑,因为这是在一个模板包括在应用程序-我没有写自己的模板。如果有人知道我做错了什么,我会非常感谢你的帮助

这是我的stacktrace:

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.
环境:
请求方法:获取
请求URL:http://localhost:8000/openid/login/
Django版本:1.5.2
Python版本:2.7.5
已安装的应用程序:
(“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”,
"脆皮形式")
已安装的中间件:
('django.middleware.common.CommonMiddleware',
“django.contrib.sessions.middleware.SessionMiddleware”,
“django.middleware.csrf.CsrfViewMiddleware”,
'django.contrib.auth.middleware.AuthenticationMiddleware',
'django.contrib.messages.middleware.MessageMiddleware')
模板错误:
在template/usr/lib/python2.7/site-packages/django_openid_auth/templates/openid/login.html中,第8行出现错误
无法分析“openid徽标”中的其余部分:“-logo”。Django 1.5中“url”的语法已更改,请参阅文档。
1:{%load i18n%}
2 : 
三:
4 : 
5:使用您的OpenID登录
6 : 
7:input.openid{
8:背景:url({%url openid logo%})不重复;
9:背景位置:0.50%;
10:左侧填充:16px;
11 : }
12 : 
13 : 
14 : 
15:使用您的OpenID登录
16:{%if form.errors%}
17:

{%trans”请更正以下错误:“%}
18:{%if form.openid_identifier.errors%} 回溯: get_响应中的文件“/usr/lib/python2.7/site packages/django/core/handlers/base.py” 115响应=回调(请求,*回调参数,**回调参数) login\u begin中的文件“/usr/lib/python2.7/site packages/django\u openid\u auth/views.py” 171. }, 上下文\实例=请求上下文(请求)) render\u to\u响应中的文件“/usr/lib/python2.7/site packages/django/shortcuts/\uuuuu init\uuuuuuuu.py” 29返回HttpResponse(loader.render_to_string(*args,**kwargs),**HttpResponse_kwargs) render_to_字符串中的文件“/usr/lib/python2.7/site packages/django/template/loader.py” 170t=获取模板(模板名称) get_模板中的文件“/usr/lib/python2.7/site packages/django/template/loader.py” 146模板,原点=查找模板(模板名称) 查找模板中的文件“/usr/lib/python2.7/site packages/django/template/loader.py” 135源,显示\u名称=加载程序(名称,目录) 调用中的文件“/usr/lib/python2.7/site packages/django/template/loader.py”__ 43返回self.load\u模板(模板名称、模板目录) load_模板中的文件“/usr/lib/python2.7/site packages/django/template/loader.py” 49模板=从字符串(源、源、模板名称)获取模板 文件“/usr/lib/python2.7/site packages/django/template/loader.py”,位于get\u template\u from\u字符串中 157返回模板(来源、来源、名称) init中的文件“/usr/lib/python2.7/site packages/django/template/base.py”__ 125self.nodelist=编译字符串(模板字符串,原点) 编译字符串中的文件“/usr/lib/python2.7/site packages/django/template/base.py” 153返回parser.parse() 解析中的文件“/usr/lib/python2.7/site packages/django/template/base.py” 274编译结果=编译函数(self,token) url中的文件“/usr/lib/python2.7/site packages/django/template/defaulttags.py” 1266viewname=parser.compile\u过滤器(位[1]) 编译过滤器中的文件“/usr/lib/python2.7/site packages/django/template/base.py” 353返回筛选器表达式(令牌、自身) init中的文件“/usr/lib/python2.7/site packages/django/template/base.py”__ 570“从'%s'”(令牌[最多:],令牌)) 异常类型:TemplateSyntaxError位于/openid/login/ 异常值:无法分析“openid徽标”中的其余部分:'-logo'。Django 1.5中“url”的语法已更改,请参阅文档。


因为您使用的是django-1.5

您应该更改:

{% url openid-logo %} 

相关文件可在

这样做的结果是,如果在模板中没有使用{%loadurl from future%},则需要将类似{%url myview%}的标记更改为{%url“myview”%}。如果您使用的是{%loadurl fromfuture%},那么只需在Django1.5下删除该行即可


这是否意味着我必须在
/usr/lib/python2.7/site packages/django\u openid\u auth/templates/openid/login.html
中编辑模板?不,不应该。您应该覆盖模板,或者查看是否有django 1.5的更新
{% url 'openid-logo' %}