为啥 Angular 在 GAME 中会失败?
Posted
技术标签:
【中文标题】为啥 Angular 在 GAME 中会失败?【英文标题】:Why does Angular produce a failure in GAE?为什么 Angular 在 GAME 中会失败? 【发布时间】:2014-04-24 18:39:55 【问题描述】:我一直在使用 Google 应用引擎来托管我的网页,并在其中练习我的编码技能。我的网站建立在 Foundation 框架之上。我开始玩 Angular 并且 appengine 返回一条错误消息:
Traceback (most recent call last):
File "/base/data/home/runtimes/python/python_lib/versions/1/google/appengine/ext/webapp/_webapp25.py", line 714, in __call__handler.get(*groups)
File "/base/data/home/apps/s~verkkolakimies/1.374513895376995789/main.py", line 16, in get self.response.out.write (template.render (path, ))
File "/base/data/home/runtimes/python/python_lib/versions/1/google/appengine/ext/webapp/template.py", line 91, in render
t = _load_user_django(template_path, debug)
File "/base/data/home/runtimes/python/python_lib/versions/1/google/appengine/ext/webapp/template.py", line 113, in _load_user_django
template = django.template.loader.get_template(file_name)
File "/base/data/home/runtimes/python/python_lib/versions/third_party/django-0.96/django/template/loader.py", line 80, in get_template
template = get_template_from_string(source, origin, template_name)
File "/base/data/home/runtimes/python/python_lib/versions/third_party/django-0.96/django/template/loader.py", line 88, in get_template_from_string
return Template(source, origin, name)
File "/base/data/home/runtimes/python/python_lib/versions/third_party/django-0.96/django/template/__init__.py", line 158, in __init__
self.nodelist = compile_string(template_string, origin)
File "/base/data/home/runtimes/python/python_lib/versions/third_party/django-0.96/django/template/__init__.py", line 174, in compile_string
return parser.parse()
File "/base/data/home/runtimes/python/python_lib/versions/third_party/django-0.96/django/template/__init__.py", line 254, in parse
filter_expression = self.compile_filter(token.contents)
File "/base/data/home/runtimes/python/python_lib/versions/third_party/django-0.96/django/template/__init__.py", line 338, in compile_filter
return FilterExpression(token, self)
File "/base/data/home/runtimes/python/python_lib/versions/third_party/django-0.96/django/template/__init__.py", line 558, in __init__
raise TemplateSyntaxError, "Could not parse the remainder: %s" % token[upto:]
TemplateSyntaxError: Could not parse the remainder: + " "+ sukunimi
我将问题追溯到添加角度代码:
<div class="panel radius">
Vainajan nimi: etunimi + " "+ sukunimi<br>
Tyttönimi: tyttonimi<br>
Henkilötunnus: vainaja_hetu<br>
Ammatti: ammatti<br>
Syntynyt: vainaja_hetu<br> Kuollut: deathDate <br>
Postinumero: zip
</div>
我正在从同一个页面表单中获取角度数据:
<form action="#" method="POST" name="perukirjakone" ng-init="sukunimi=juttu; etunimi=tuttu">
<fieldset id="perittäväSet" class="color3">
<legend class="fi-info"> XXX</legend>
<label for="vainaja_first_name" >Vainajan etunimi</label><br>
<input type="text" required name="vainaja_first_name" id="vainaja_first_name" tabindex="1" placeholder="Esa" ng-model="etunimi">
这两个花括号是否会影响 Python,或者我是否应该在我的代码中寻找其他漏洞?我想我的问题是 Angular 和 GAE 是否存在已知问题?
【问题讨论】:
这个我觉得很奇怪:etunimi + " "+ sukunimi 解决方法: etunimi sukunimi ??? @voscausa etunimi + " "+ sukunimi 在 AngularJS 中非常好。 对不起。在我看来,这就像 django 模板。如果您使用的是 django,则必须转义 django 翻译。逐字查找 django 以转义 Angular 代码。 我发现这篇文章也很有帮助:link 【参考方案1】:罗宾拥有它。 Django 模板和 Angular 都想使用。在http://django-angular.readthedocs.org/en/latest/integration.html
我只将 Angular 与 GAE 一起使用过几次,发现将 Angular 部分隔离到静态文件中,并使用 GAE 来处理 Ajax 请求,效果很好。
【讨论】:
【参考方案2】:这与 App Engine 无关,它与您使用的框架 Django 有关。
Django 还在其模板中使用双花括号,这使其与 AngularJS 冲突。
见:AngularJS with Django - Conflicting template tags
【讨论】:
以上是关于为啥 Angular 在 GAME 中会失败?的主要内容,如果未能解决你的问题,请参考以下文章
为啥 import.sql 在 Spring Boot 中会失败?
为啥 Angular 8 CircleCI 构建在执行 ng test --watch-false 时失败,业力配置为 singleRun=true?
为啥我的单元测试在 Chrome 中通过而在 PhantomJS 中失败?