我在尝试打开Django Rest框架的url时遇到错误。 它本地工作正常,但当我在服务器上部署它时,我有以下错误。在服务器上我有django 1.9。
Exception Value:
'url' is not a valid tag or filter in tag library 'future'
Exception Location: /home/maxo/django-trunk/django/template/base.py in parse, line 506
Error during template rendering
In template /usr/local/lib/python2.7/dist-packages/rest_framework/templates/rest_framework/base.html, error at line 1
'url' is not a valid tag or filter in tag library 'future'
1
{% load url from future %}
2 {% load staticfiles %}
3 {% load rest_framework %}
4 <!DOCTYPE html>
5 <html>
6 <head>
7 {% block head %}
8
9 {% block meta %}
10 <meta http-equiv="Content-Type" content="text/html; charset=utf-8"/>
11 <meta name="robots" content="NONE,NOARCHIVE" />
注意:当我删除以下行时: 来自base.html的{%load url from future%} 它现在工作正常,但随后的休息api样式消失了。还有其他替代方法可以替换{%load url from future%}吗?
答案 0 :(得分:4)
在Django 1.9中,url
模板标记已从future
模板标记库中删除。
ssi
和url
模板标记将从future
模板标记中删除 库(在1.3 / 1.4弃用期间使用)。
因此,现在您无法从Django 1.9中的url
库加载future
标记。您可以使用内置的url
代码。
{% url 'some-url-name' %}
答案 1 :(得分:1)
您可以通过安装较新版本的djangorestframework
来解决这个问题requirements.txt
我认为在django版本上开发并部署在其他版本上并不是一个好主意,这很可能会给你带来麻烦。
我使用virtualenv工作,并使用您正在使用的所有软件包的版本保存pip install -r requirements.txt
文件。这样,部署时可以运行:
class var keyAll: [String] {
return [
"title",
"desc"
]
}
class var objectMapping: RKObjectMapping {
let childMapping = RKObjectMapping(forClass: Category.self)
childMapping.addAttributeMappingsFromArray(keyAll)
let mapping = RKObjectMapping(forClass: Category.self)
mapping.addAttributeMappingsFromArray(keyAll)
mapping.addPropertyMapping(RKRelationshipMapping(fromKeyPath: keyChilds, toKeyPath: keyChilds, withMapping: childMapping))
return mapping
}
并且将安装与您在开发环境中使用的版本相同的版本。
希望这会有所帮助。 撒路