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
Arbeitete sehr viel ein Vergnügen, dank wieder. Sehr geschätzt. Irgendeine Idee, warum 3 nicht funktioniert hat? – Gary
sie ändern nur den Funktionsnamen in 0.4. 'Addition' existiert nicht in 0.3 – viviwill
Ah danke, wäre schön gewesen, wenn der ursprüngliche Entwickler die requirements.txt aktualisiert hätte! Danke noch einmal – Gary