Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/django/22.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
如何在python中找到django模板变量的来源_Python_Django_Django Templates_Django Views - Fatal编程技术网

如何在python中找到django模板变量的来源

如何在python中找到django模板变量的来源,python,django,django-templates,django-views,Python,Django,Django Templates,Django Views,有没有一种很好的通用方法来查找负责向django模板传递变量的python代码行?当新获取一个大型代码库时,我在模板中看到{{{x.y},并且在{%load…%}中没有任何明显与x相关的东西(通过事物的命名方式),我该怎么办?在python中,我在哪里可以找到这个变量,以便更改它或相关代码 我目前的解决方案往往是枯燥乏味的。这需要大量的搜索,但我希望能够知道在哪里查找。查看页面的URL。然后转到URL.py,查看链接到URL的视图。然后打开views.py并搜索URL链接到的视图 在这个视图中,

有没有一种很好的通用方法来查找负责向django模板传递变量的python代码行?当新获取一个大型代码库时,我在模板中看到
{{{x.y}
,并且在
{%load…%}
中没有任何明显与
x
相关的东西(通过事物的命名方式),我该怎么办?在python中,我在哪里可以找到这个变量,以便更改它或相关代码


我目前的解决方案往往是枯燥乏味的。这需要大量的搜索,但我希望能够知道在哪里查找。

查看页面的URL。然后转到URL.py,查看链接到URL的视图。然后打开views.py并搜索URL链接到的视图


在这个视图中,变量“x”应该存在。如果不是,那么按照karthikr的建议检查模板上下文处理器和中间件。

一个好的起点是找出呈现该模板的视图。下一个我要看的地方是任何中间件,或者注入变量的模板上下文处理器。django-debug-toolbar将让您看到每个上下文处理器提供的上下文从URL模式开始,向后工作到与该模式匹配的视图。如果仍然找不到要查找的内容,请查看是否有添加的上下文处理器或模板标记正在将变量添加到context.Worked中。在正确的视图中找到“x”,然后找到制作“y”的模型文件。谢谢