尝试加载自定义模板标签时,出现错误
'myapp' is not a valid tag library: ImportError raised loading myapp.templatetags.myapp: No module named models
问题在于 templatetags/myapp.py 无法加载模型->“myapp:没有名为模型的模块”。为什么以下行在 myapp/templatetags/myapp.py 中失败?
from myapp.models import Mymodel
为了提供一些细节,我有以下几点:
myproject
|
--myapp
| |
| --templatetags
| | |
| | --__init__.py
| | --myapp.py
| --__init__.py
| --models.py
| --views.py
|
--myapp2
| |
| --templatetags
| --__init__.py
| --models.py
| --views.py
在 template/myapp2/showsomething.html 中,我有以下内容
{% load myapp %}
在 myapp/templatetags/myapp.py 中,我有以下内容
from myapp.models import Mymodel
register = Library()
@register.inclusion_tag('myapp/myapp.html')
def myapp():
#....somecode ...
return {'some': 'value}
在 myapp/models.py 中,我有以下内容
from django.db import models
class Mymodel(models):
...some model code
在 settings.py 中,我有
...some other settings code ...
INSTALLED_APPS = (
'django.contrib.auth',
'django.contrib.contenttypes',
'django.contrib.sessions',
'django.contrib.sites',
'django.contrib.messages',
'django.contrib.admin',
'myapp',
'myapp2',
)