Django:TemplateSyntaxError:无法解析剩余部分

     2023-02-23     181

关键词:

【中文标题】Django:TemplateSyntaxError:无法解析剩余部分【英文标题】:Django: TemplateSyntaxError: Could not parse the remainder 【发布时间】:2013-10-26 01:15:25 【问题描述】:

我在输入 localhost:8000/admin/ 时遇到了这个问题。

`TemplateSyntaxError:无法解析剩余部分:来自“admin:password_change”的“:password_change”。 'url' 的语法在 Django 1.5 中发生了变化,请参阅文档。

这是我settings.py的一部分:

INSTALLED_APPS = (
    'django.contrib.auth',
    'django.contrib.contenttypes',
    'django.contrib.sessions',
    'django.contrib.sites',
    'django.contrib.messages',
    'django.contrib.staticfiles',
    'grappelli',
    'filebrowser',
    # Uncomment the next line to enable the admin:
     'django.contrib.admin',
    # Uncomment the next line to enable admin documentation:
    #'django.contrib.admindocs',
     'tinymce',
     'sorl.thumbnail',
     'south',
     'django_facebook',
     'djcelery',
     'devserver',
     'main',
)
AUTH_USER_MODEL = 'django_facebook.FacebookCustomUser'

AUTHENTICATION_BACKENDS = (
    'django_facebook.auth_backends.FacebookBackend', 
    'django.contrib.auth.backends.ModelBackend',
    # Uncomment the following to make Django tests pass:
    'django.contrib.auth.backends.ModelBackend',
)

我是不是做错了什么?

PS:这是我的完整回溯 https://gist.github.com/anonymous/e8c1359d384df7a6b405

编辑:

我正在根据请求粘贴 grep 的输出:

$ ack-grep --type=python -r ':password_change' .
lib/python2.7/site-packages/django/contrib/admin/sites.py
264:url = reverse('admin:password_change_done', current_app=self.name)

lib/python2.7/site-packages/grappelli/dashboard/dashboards.py
147:reverse('%s:password_change' % site_name)],

$ ack-grep --type=html -r ':password_change' .
lib/python2.7/site-packages/django/contrib/admin/templates/admin/base.html
36:<a href="% url 'admin:password_change' %">% trans 'Change password' %</a> /

lib/python2.7/site-packages/grappelli/templates/admin/includes_grappelli/header.html
12:% url admin:password_change as password_change_url % 

【问题讨论】:

你能在文件夹范围内搜索:password_change 并显示包含代码的模板吗? 好的,谢谢。我刚刚粘贴了输出。 我刚刚遇到了这个问题,因为模板有像% if thing in ['literal', 'list', 'of', 'elements'] % 这样的代码,它在 jinja 中有效,但不适用于 Django 模板。 当你写 url ..而不是% url ..时也会发生这种情况 【参考方案1】:

此错误通常意味着您在尝试渲染的模板中的某处忘记了结束引号。例如:% url 'my_view %(错误)而不是 % url 'my_view' %(正确)。在这种情况下,导致问题的是冒号。通常你会编辑模板以使用正确的% url %syntax。

但是 django 管理站点没有理由抛出这个,因为它知道它自己的语法。因此,我最好的猜测是 grapelli 会导致您的问题,因为它会更改管理模板。从已安装的应用中删除 grappelli 有帮助吗?

【讨论】:

谢谢,我刚刚在我的 virtualevn 中做了一个 grep,似乎 grapelli 必须对它做些什么。可以修吗? 好的,我将% url admin:password_change as password_change_url % 更改为% url 'admin:password_change' as password_change_url %(添加了单引号),它似乎有效。单引号也需要添加到其他地方。需要更改的文件是这样的:lib/python2.7/site-packages/grappelli/templates/admin/includes_grappelli/header.html. 我想补充一点,当我应该使用 时,我得到了这个错误,而我应该使用%%【参考方案2】:

name 后面不能有空格。

不正确:

% url 'author' name = p.article_author.name.username %

正确:

% url 'author' name=p.article_author.name.username %

【讨论】:

【参考方案3】:

templates/admin/includes_grappelli/header.html 的第 12 行中,您忘记将 admin:password_change 放在 ' 之间。

url Django 标记语法应该总是这样:

% url 'your_url_name' %

【讨论】:

【参考方案4】:

当你使用 jinja 模板(调用对象方法的语法不同)并且你忘记在 settings.py 中设置它时也会发生

【讨论】:

% csrf_token %
你能在这段代码中找到错误吗?Pizzacart 是一个列表,其中包含与比萨饼相关的详细信息,比萨饼代表它们中的每一个。
【参考方案5】:

模板语法错误:由于多种原因,其中之一是 post.date_posted|date: "F d, Y" 是冒号 (:) 和引号 (") 之间的空格,如果您删除空格然后它像这样工作..... post.date_posted|date:"F d, Y"

【讨论】:

根据错误信息,这似乎不是这个问题中语法错误的原因。【参考方案6】:

您已在 settings.py 中缩进了部分代码:

# Uncomment the next line to enable the admin:
     'django.contrib.admin',
    # Uncomment the next line to enable admin documentation:
    #'django.contrib.admindocs',
     'tinymce',
     'sorl.thumbnail',
     'south',
     'django_facebook',
     'djcelery',
     'devserver',
     'main',

因此,它给你一个错误。

【讨论】:

【参考方案7】:

对我来说,它使用的是 而不是 % %:

href=" static 'bootstrap.min.css' "  # wrong
href="% static 'bootstrap.min.css' %"  # right

【讨论】:

【参考方案8】:

确保您正确使用静态文件和 URL

<link href="% static 'css/semantic.min.css' %" rel="stylesheet">
检查是否用引号正确括起来 检查开始和结束括号 检查标签是否正确关闭

【讨论】:

烧瓶模板处的子字符串

...les%%f=file[\'path\']%<p>f[1:]</p>%endfor%我收到这个错误TemplateSyntaxErro 查看详情

django之路

Django基础Django——简介Django——web框架简介浅析uWSGI、uwsgi、wsgiDjango——url(路由)配置Django——模板层Django——视图层Django——模型层之单表Django——模型层之多表操作Django——form组件Django——AjaxDjango——会话追踪技术Django... 查看详情

django系列

  Django框架简介  Django静态文件  Djangorequest对象与ORM简介  Django路由系统  Django之视图层  Django之模板层  Django的settings源码分析Django表模型操作  Django表关系的创建  Django单表查询  Django多表、跨表、聚... 查看详情

django初识

Django1Django初识2http协议3web框架4Django简介5Django的路由控制6Django的视图层7Django的模板层8Django的模型层(1)9Django的模型层(2)10Django与Ajax11Django组件之分页器12Django组件之forms组件13Django组件之cookie与session组件14Django组件之用户认证组件... 查看详情

django

Django简介Django安装Django创建项目Django添加应用Django数据模型Django访问数据库Django传递数据Djangocmdb项目Django收集主机信息Django主机分组管理         查看详情

django框架目录索引

Django框架目录索引自定义Web框架与jinja2模板HTTP协议详细介绍cookie和sessionDjango框架(一)环境配置及简单使用Django框架(二)MTV模型简介Django框架(三)url反向解析与csrf-token设置Django框架(四)Django之模板语法Django框架(五)Django之模板继承Dj... 查看详情

django目录

django目录>>>01.Django基础一之web框架的本质02.Django基础二之URL路由系统03.Django基础三之视图函数04.Django基础四之模板系统05.Django基础五之django模型层(一)单表操作06.Django基础五之django模型层(二)多表操作07.Django学习之model进阶... 查看详情

django--系列学习

web框架Django基础(一)Django进阶Django-MTVmodel基础model进阶Django-admin管理工具Django-组件拾遗Django-AjaxDjango-form表单Django_form补充Django-认证系统Django-Bootstrap表格案例S20_DAY16--课堂笔记 查看详情

django-学习目录

Django基础web应用/http协议/web框架Django简介Django-路由层(URLconf)Django-视图层Django-模板层Django-模型层-上Django-模型层-下Django-Cookie、Session、自定义分页和Django分页器Django-AjaxDjango-forms组件Django-中间件Django-常用配置Django-用户认证组... 查看详情

django框架

web框架推导django框架初识django静态文件配置&request对象django与mysql数据库基本操作django请求生命周期流程django路由层django版本区别django视图层模版语法django模型层AJaxform组件cookie&sessiondjango中间件插拔式设计编程思想django_auth... 查看详情

django-339初始django

django框架:pipinstalldjango1,利用命令创建:#创建django程序django-adminstartprojectmysite#进入程序主目录cdmysite#启动socket服务端,等待用户发送请求pythonmanage.pyrunserver127.0.0.1:8080也可以pycharm来创建(创建django项目) 查看详情

[置顶]django框架

Django框架第一篇Web应用第二篇Django之路由层第三篇Django之视图层第四篇Django之模板层第五篇Django之模型层(一)Django之模型层(二)Django之模型层(三)Django之模型层(四)第六篇CeleryHaystack 查看详情

django框架

第一篇:Django简介第二篇:Django之路由层第三篇:Django之模板语法第四篇:DjangoCBV源码分析第五篇:Django之ORM表高级操作第六篇:Django之AJAX简介第七篇:Django之models高级进阶技术详解第八篇:Django之form组件第九篇:Django之Session... 查看详情

django:启动django(代码片段)

pip3installdjango==1.11.292.创建一个Django项目windows:需要将下图中的路径添加到系统环境变量,就可以通过django-admin创建django项目,并且django项目应用的就是python36的解释器在cmd命令中创建django-adminstartprojectmysitecmd创建项目的路径3.启... 查看详情

django目录

点击点击......Django【基础篇】Django【进阶篇】Django【Form组件】Django【Model进阶补充】Django【性能优化建议】DEMO点击点击用Django实现Video页面组合查询CosPlayPermissionDEMODjangoProjectCMDB  查看详情

django-340第一个django请求

django框架:pipinstalldjango1,利用命令创建:#创建django程序django-adminstartprojectmysite#进入程序主目录cdmysite#启动socket服务端,等待用户发送请求pythonmanage.pyrunserver127.0.0.1:8080也可以pycharm来创建(创建django项目)    2,django程序... 查看详情

django总结

Django基础Django进阶Django高级,缓存,信号 查看详情

django目录

Django基础Django框架介绍 Django模板语言Django路由系统Django视图系统DjangoORM字段和字段参数DjangoORM操作及进阶Django进阶Cookie和SessionAJAXDjango中间件Form和ModelForm组件auth认证组件  查看详情