请稍等 ...
×

采纳答案成功!

向帮助你的同学说点啥吧!感谢那些助人为乐的人

练习jinja2时报错'module' object is not callable,麻烦老师帮忙看看

base_jinja2.py中代码:
from jinja2 import Environment
from django.contrib.staticfiles.storage import staticfiles_storage
from django.urls import reverse

def environment(**options):
env = Environment(**options)
env.globals.update({
‘static’:staticfiles_storage.url,
‘url’:reverse
})
return env

settings.py中代码:
TEMPLATES = [
{
‘BACKEND’: ‘django.template.backends.jinja2.jinja2’,
‘DIRS’: [os.path.join(BASE_DIR,‘templates’)],
‘APP_DIRS’: True,
‘OPTIONS’: {
‘context_processors’: [
‘django.template.context_processors.debug’,
‘django.template.context_processors.request’,
‘django.contrib.auth.context_processors.auth’,
‘django.contrib.messages.context_processors.messages’,
],
‘environment’:‘app.base_jinja2.environment’
},
urls.py中代码:
from django.contrib import admin
from django.urls import path
from app.views import test

urlpatterns = [
path(‘admin/’, admin.site.urls),
path(‘test/’,test)

正在回答

1回答

这段代码看不出错误点 很难排查 给你推荐一种判断错误的方法 没执行完一行代码打一个print 当报错了 我们检查打印到哪一行 就能锁定错误位置 然后对于报错位置的变量进行打印就一般能发现问题原因

0 回复 有任何疑惑可以回复我~
  • 提问者 快乐的埃里克 #1
    老师好,你的建议很好,但我试了半天不知道如何操作,还是排查不出来。能否麻烦给个例子,谢谢。比如,如下这样一段代码,我应该在哪里添加print呢:
    from jinja2 import Environment
    from django.contrib.staticfiles.storage import staticfiles_storage
    from django.urls import reverse
    
    def environment(**options):
    env = Environment(**options)
    env.globals.update({
    ‘static’:staticfiles_storage.url,
    ‘url’:reverse
    })
    return env
    回复 有任何疑惑可以回复我~ 2020-02-29 11:00:46
  • 很简单 比如在你不知道那行出问题的情况下 每写一行代码 在这行代码的上一行打印一个print 以此类推 他一定停在最后一个正确打印的位置
    回复 有任何疑惑可以回复我~ 2020-02-29 12:09:24
  • 提问者 快乐的埃里克 #3
    非常感谢!
    回复 有任何疑惑可以回复我~ 2020-06-06 21:12:11
问题已解决,确定采纳
还有疑问,暂不采纳
意见反馈 帮助中心 APP下载
官方微信