2017-03-28 2 views
0

Kürzlich habe ich ein Django-Projekt in eine neue virtuelle Umgebung verschoben. Alles scheint in Ordnung, mit Ausnahme der folgenden Fehler zu arbeiten:'mathfilter' tag 'addition' funktioniert nicht mehr seit der replizierung django project - wie zu lösen?

TemplateSyntaxError at /profile/ 

Invalid filter: 'addition' 

Request Method:  GET 
Request URL: http://example.com/example/ 
Django Version:  1.9.12 
Exception Type:  TemplateSyntaxError 
Exception Value:  

Invalid filter: 'addition' 

Exception Location:  /opt/example/local/lib/python2.7/site-packages/django/template/base.py in parse, line 516 
Python Executable: /usr/local/bin/uwsgi 
Python Version:  2.7.3 

ich das auf diese Zeile Code eingrenzen:

{% with deeb_percent=stat.deeb_base|addition:stat.deeb_deal %} 

Weitere Untersuchungen und ich fand dies: https://github.com/dbrgn/django-mathfilters, wie es scheint 'addition' ist ein benutzerdefinierter Filter, der Teil von mathfilters ist. Die Dokumentation, die ich verlinkt, sagt zu laufen:

pip install django-mathfilters 

Ich habe mit pip gefrieren überprüft, und mathfilters ist installiert.

appdirs==1.4.3 
backports.ssl-match-hostname==3.5.0.1 
beautifulsoup4==4.5.3 
Django==1.9.12 
django-appconf==1.0.1 
django-autocomplete-light==3.2.1 
django-compat==1.0.8 
django-compressor==1.6 
django-dual-authentication==1.0.0 
django-hijack==2.0.1 
django-htmlmin==0.8.0 
django-ipware==1.1.2 
django-mathfilters==0.3.0 
django-modelcluster==3.0.1 
django-taggit==0.22.0 
django-treebeard==4.1.0 
django-widget-tweaks==1.4.1 
djangorestframework==3.6.2 
html5lib==0.9999999 
packaging==16.8 
Pillow==3.0.0 
pyparsing==2.2.0 
pytz==2015.7 
requests==2.13.0 
simplejson==3.10.0 
six==1.10.0 
slackclient==1.0.5 
Unidecode==0.4.20 
wagtail==1.9 
websocket-client==0.40.0 
Willow==0.4 

Then add mathfilters to your INSTALLED_APPS.

Ich habe überprüft auch INSTALLED_APPS im Projekt settings.py und mathfilters wird auch geladen:

INSTALLED_APPS = [ 
... 
'mathfilters', 
... 

] 

An der Spitze der Vorlage in Frage 'mathfilters' geladen wird:

{% extends "base.html" %} 
{% load i18n %} 
{% load static %} 
{% load extra %} 
{% load mathfilters %} 

Wenn ich 'hinzufügen' in der Vorlage zu 'hinzufügen' ändern, funktioniert die Vorlage in Ordnung.

{% with deeb_percent=stat.deeb_base|addition:stat.deeb_deal %} 

Aber ich will das nicht an mehreren Stellen für jede einzelne Vorlage tun, und auch bin unbequem verlassen diese ‚kaputt‘, da ich das Projekt in einem neuen virtualenv installiert.

Warum funktionieren die Mathfilter nicht? und wie kann ich diesen Fehler beheben?

Dank

Antwort

1

https://github.com/dbrgn/django-mathfilters

addition – replacement for the add filter with support for float/ decimal types

Update auf 0.4.0 mathfilter, wird es in den normalen

+0

Arbeitete sehr viel ein Vergnügen, dank wieder. Sehr geschätzt. Irgendeine Idee, warum 3 nicht funktioniert hat? – Gary

+0

sie ändern nur den Funktionsnamen in 0.4. 'Addition' existiert nicht in 0.3 – viviwill

+0

Ah danke, wäre schön gewesen, wenn der ursprüngliche Entwickler die requirements.txt aktualisiert hätte! Danke noch einmal – Gary

Verwandte Themen