Django将脚本从另一个应用程序加载到html文件中

时间:2017-11-18 11:22:01

标签: python django boto3

我在app2的页面中使用App1中的文件中的脚本时遇到问题。 我的项目结构如下所示: enter image description here

我想在home / static / scripts / scripts.py中使用以下文件 在project / templates / project / s3.html

中的html文件中

我的scripts.py文件如下所示:

import boto3

def listS3():
    s3 = boto3.resource('s3')

    for bucket in s3.buckets.all():
        print(bucket.name) 

我的s3.html文件如下所示:

{% include "home/_header.html" %}
{% block content %}
{% load staticfiles %}

<div class="s3">

</div>
{% endblock content %}

坦率地说,我甚至不确定如何加载该脚本以及之后如何调用它,因为这是我在django中的第一个项目。 我使用:

{% load script.py %}

或类似的东西? 我以后如何在html文件中调用函数listS3? 喜欢这个?

{% listS3() %}

?感谢您的帮助。

1 个答案:

答案 0 :(得分:2)

我认为您不了解Django的基本模型 - 视图 - 模板模式结构。

重新学习Django的基本设计并查看代码可能是一个好主意。

这是Django的官方教程 https://docs.djangoproject.com/en/1.11/intro/tutorial01/

无法直接从Django模板中调用Python脚本方法。在Django中,您需要以&#34; Context&#34;的形式传递要在模板中使用的变量,对象和方法。在&#34;查看&#34;。

这是Django关于该部分的官方教程。 https://docs.djangoproject.com/en/1.11/intro/tutorial03/#write-views-that-actually-do-something