你是不是忘记在Django中注册或加载这个标签了?

10 浏览
0 Comments

你是不是忘记在Django中注册或加载这个标签了?

在我正在处理的Django项目中,当我在html中添加这行代码{% set alpha = SafeExec.objects.get(testcase=a_test) %}时,它显示了这个错误。如何摆脱这个错误?\n这是我的模板代码:\n

{% for a_testcases in testcases %}
    
  • {{ a_testcases.0.program.name }} {% for a_test in a_testcases %} {% set alpha = SafeExec.objects.get(testcase=a_test) %} {{ alpha.cpu_time }} {% endfor %} {% endfor %}
  • \n这是错误的截图:\"模板语法错误。你忘记加载这个标签了吗?\"

    0
    0 Comments

    问题的原因是在模板中使用了一个不存在的标签或标签没有被正确加载。解决方法是检查模板中的标签是否正确,并确保已经在Django中注册或加载了该标签。

    在模板中,不能使用任何的标签来执行一些操作。例如,不能在模板中使用set标签,因为它不是一个模板标签;也不能在模板中使用SafeExec,因为它不存在于上下文中;而且在模板中也不能调用带有参数的方法。

    根据你的模型的情况,我无法确定你需要做什么,但是看起来测试用例(testcase)有一个指向SafeExec的外键(foreign key),所以你只需要这样做:

    {{ a_test.safeexec.cpu_time }}

    然而,这似乎不起作用,并显示错误信息:“无法解析剩余部分:' a_test.safe_exec.cpu_time' from 'for a_test.safe_exec.cpu_time'”。抱歉,for不应该出现在这里,我已经进行了编辑。但是你确实需要展示你的模型。

    恭喜!问题已解决。谢谢!

    0
    0 Comments

    在Django模板中,如果想要创建任何变量,可以使用"with"标签。

    如果遇到了(Did you forget to register or load this tag in Django?)这个问题,可以参考以下解决方法:

    1. 检查模板中是否正确使用了"with"标签。可以查看上述链接中的答案,了解如何在模板代码中设置变量的值。

    2. 建议将所有与数据库相关的操作或业务逻辑放在视图文件中进行,这样可以获得更多执行操作的方式。

    0