Python 部署带有rest框架的django时出错
尝试打开Django Rest框架的url时出错。 它在本地运行良好,但当我将其部署到服务器上时,出现了以下错误。在服务器上,我有django 1.9Python 部署带有rest框架的django时出错,python,django,django-rest-framework,Python,Django,Django Rest Framework,尝试打开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
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" />
异常值:
“url”不是标记库“future”中的有效标记或筛选器
异常位置:解析中的home/maxo/django trunk/django/template/base.py,第506行
模板呈现期间出错
在template/usr/local/lib/python2.7/dist-packages/rest\u framework/templates/rest\u framework/base.html中,第1行出现错误
“url”不是标记库“future”中的有效标记或筛选器
1.
{%从未来加载url%}
2{%load staticfiles%}
3{%load rest_framework%}
4.
5.
6.
7{%块头%}
8.
9{%block meta%}
10
11
注意:当我删除以下行时: {%loadurl from future%}from base.html
它现在可以正常工作了,但RESTAPI的风格已经消失了。是否有其他替代方法来替换{%loadurl fromfuture%} 在Django 1.9中,
url
模板标记已从future
模板标记库中删除。
发件人:
ssi
和url
模板标记将从future
模板标记中删除
库(在1.3/1.4弃用期间使用)
因此,现在您无法从Django 1.9中的future
库加载url
标记。您可以使用内置的url
标记
{% url 'some-url-name' %}
您可以通过安装更新版本的djangorestframework来修复此问题
pip install 'djangorestframework>=3.2.3'
我认为在django版本上开发并部署在其他版本上不是一个好主意,这很可能会给您带来问题。
我将使用并保存一个requirements.txt
文件,其中包含您正在使用的所有软件包的版本。这样,在部署时可以运行:
pip install -r requirements.txt
这将安装与您在开发环境中使用的相同版本
希望这有帮助。
salú当我从base.html中删除以下行:{%loadurl from future%}时,它现在工作正常,但RESTAPI的样式就消失了。是否有其他替代方法来替换{%load url from future%}?您可以使用默认的url标记<代码>{%url'某个url名称'%}那么我需要用任何东西替换“某个url名称”吗?因为我需要用DJANGO rest Framwork文件夹
中的base.html文件上的某个内容替换{%load url from future%},所以某些url名称可以是视图函数或反向url名称。假设您的url在url.py
文件中定义了一个name=my\u url\u name
参数,那么您可以只使用{%url'my\u url\u name%}
。对于命名空间URL,当我从base.html中删除以下行时,您需要指定完全限定的URL,如{%URL'myapp:view_name'%}
:{%load URL from future%}现在工作正常,但rest api的样式消失了。是否有其他替代方法来替换{%loadurl fromfuture%}?