我已經繼承了需要使用自定義模板過濾器進行修改的Django應用程序。對於Django我絕對是新手,對此我感到很困惑。我想我已經完全按照指示,也跟着全部來自於這個問題的其他職位的建議,但我仍然得到一個錯誤,當我包括我的模板下面一行:嘗試將Django自定義過濾器加載到模板時出錯
{% load mlgb_custom_filters %}
我的目錄結構如下:
mysite (i.e. the project)
__init__.py
mlgb/ (i.e. the app)
__init__.py
templatetags/
__init__.py
mlgb_custom_filters.py
mlgb_custom_filters.py的代碼如下:
from django import template
from django.template.defaultfilters import stringfilter
register = template.Library()
@register.filter(name='fix_dashes')
@stringfilter
def fix_dashes(value):
return value.replace('--', 'DASH')
if __name__ == "__main__":
testvar = fix_dashes("ouch -- ow -- I hate django")
print testvar
正如你所看到的,我添加了一個「名稱=主要」部分,讓我跑它處於獨立模式,只是爲了檢查該特定文件中是否存在錯誤,並且在獨立模式下運行時沒有問題。
基於別人的建議,我也嘗試將其導入到另一個文件,只是爲了查看是否有導入錯誤,並再次,如果我將它添加到settings.py的結尾是好的(在使用開發服務器):
嘗試: 進口mlgb.templatetags.mlgb_custom_filters 除例外,EXC: 打印 '錯誤導入mlgb_custom_filters' 打印EXC
此外,INSTALLED_APPS settings.py中包括線'mysite.mlgb',並且我也嘗試在那裏放置'mlgb'而不是'mysite.mlgb',至今另一個人建議。每當我做出改變時,我都會重新啓動開發者服務器。
我想我已經嘗試過我在網上發現的每一個建議,直到現在。有沒有人有任何新想法?這是否與我繼承了一個目錄結構有關,即模板目錄與應用程序不在同一個結構中,即它不在mysite之下?在這裏刮取桶的想法!我希望有人能幫幫忙。
嗯......有什麼例外? – 2012-04-13 15:31:00
嗨,開發服務器給我這些錯誤開始: 文件「/usr/lib/python2.5/site-packages/django/core/servers/basehttp.py」,行280,在運行 self.result =應用程序(self.environ,self.start_response) 文件「/usr/lib/python2.5/site-packages/django/core/servers/basehttp.py」,第674行,在__call__中 return self.application(environ, start_response) 文件「/usr/lib/python2.5/site-packages/django/core/handlers/wsgi.py」,第241行,在__call__中 response = self.get_response(request) File「/ usr/lib /python2.5/site-packages/django/core/handlers/base.py「,第141行,在get_response – 2012-04-13 15:48:47
更好地把錯誤放在問題 – okm 2012-04-13 16:02:25