无法在html

时间:2016-10-19 06:46:06

标签: javascript html django

我已经尝试了所有答案,但没有一个可以解决我的问题。我有一个html页面,我在其中使用js绘制svg。现在我想将这个js存储在外部文件中并调用它(我的html和js文件在同一个文件夹中)。     <script src="show1.js"></script>这样做,我的内部js找不到外部js中定义的函数,并给出'ReferenceError:DrawLine未定义'。我甚至尝试在外部js中使用alert来检查它是否正在加载,但即使是警报也无法正常工作。有什么设置我必须检查?请帮助。

我的代码非常庞大。我发布的这个代码段显示了内部和外部的js。

 <head>
<script>
//only variables are declared
<script>
</head>
<body>
<script src="show1.js"></script> 
<script>  drawline(10,10,20,20,'black',4);  </script>
</body>

show1.js:

function drawline(x1,y1,x2,y2,c,w)
{
//do stuff
}

注意:这些页面是django项目的一部分,因此我的html和js存储在项目的模板文件夹中。

1 个答案:

答案 0 :(得分:0)

您可以使用django中的静态文件应用程序来提供外部静态文件:https://docs.djangoproject.com/en/1.10/ref/contrib/staticfiles/

您可以在项目中创建一个文件夹来托管您的静态资源(例如名称为static),然后您需要将项目配置为在设置中提供静态文件

STATIC_ROOT = 'path to your folder/static/'
STATIC_URL = '/static/'

然后在你的模板中:

   {% load staticfiles %}
    <head>
    <script>
    //only variables are declared
    <script>
    </head>
    <body>
    <script src="{% static 'show1.js' %}"></script> 
    <script>  drawline(10,10,20,20,'black',4);  </script>
    </body>

在开发模式下,runserver命令将为您的静态文件提供服务。您可能希望在生产模式下直接从Web服务器提供文件。设置可能因django版本而异,您可以参考您的版本文档以获取更多详细信息。