मैं Django 1.2.1 का उपयोग कर रहा हूं और मुझे अपने टेम्पलेट टैग लोड करने की कोशिश करने में समस्याएं आ रही हैं:Django: टेम्पलेट टैग लोड करने में असमर्थ
{% load mytags %}
TemplateSyntaxError at /myapp/
'mytags' is not a valid tag library: Template library mytags not
found, tried django.templatetags.mytags
यह myproject/myapp/templatetags/mytags.py
में परिभाषित है।
[email protected]:~/work/django-projects/myproject$ ls myapp/templatetags/
mytags.py __init.py__
[email protected]:~/work/django-projects/myproject$ more
myapp/templatetags/mytags.py
from django import template
register = template.Library()
@register.simple_tag
def myclass(request):
return request.path
मैंने INSTALLED_APPS
में 'myapp' जोड़ा, और TEMPLATE_LOADERS
अद्यतन किया (जैसा कि stackOverflow से एक सुझाव के अनुसार):
TEMPLATE_LOADERS = (
'django.template.loaders.filesystem.Loader',
'django.template.loaders.app_directories.Loader',
'django.template.loaders.eggs.Loader',
'django.template.loaders.app_directories.load_template_source',
)
जब मैं सर्वर शुरू करता हूं तो मुझे यह चेतावनी संदेश दिखाई देता है:
/usr/local/lib/python2.6/dist-packages/django/template/loaders/eggs.py:4:
UserWarning: Module _mysql was already imported from
/usr/lib/pymodules/python2.6/_mysql.so, but
/usr/lib/pymodules/python2.6 is being added to sys.path
जब मैं खोल में अपना मॉड्यूल आयात करने का प्रयास करता हूं तो मैं इसे आयात करने में असमर्थ हूं:
>>> from django.templatetags import mytags
Traceback (most recent call last):
File "<console>", line 1, in <module>
ImportError: cannot import name mytags
>>> from myapp.templatetags import mytags
Traceback (most recent call last):
File "<console>", line 1, in <module>
ImportError: No module named templatetags
क्या इसका मतलब है कि मेरे पथ या सेटअप में कुछ गलत है? कोई विचार?
क्या आपके पास 'myapp' निर्देशिका में' __init __। Py' भी है? – Wolph
अच्छा सवाल। हां, मैं करता हूं: नाट @ नेट-डेस्कटॉप: ~/काम/django-projects/myproject $ ls myapp/ __init__.py models.py templatetags Views.py __init __। Pyc models.pyc tests.py views.pyc –
मुझे 'ls' से आउटपुट दर्ज करने में कठिनाई हो रही है। अंडरस्कोर बोल्ड टेक्स्ट में परिवर्तित हो जाते हैं। यह डबल अंडरस्कोर init.py डबल अंडरस्कोर दिखाना चाहिए। –