Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/328.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
Django-javascript不';无法在html页面上加载_Javascript_Python_Css_Django_Static - Fatal编程技术网

Django-javascript不';无法在html页面上加载

Django-javascript不';无法在html页面上加载,javascript,python,css,django,static,Javascript,Python,Css,Django,Static,我的Django网站不会加载javascript文件,但是对于css部分来说,即使两者都在同一个静态文件夹中,它也可以正常工作 base.html: <head> {% load static %} <meta charset="UTF-8"> <link href="{% static 'login/css/bootstrap.css' %}" rel="stylesheet" type="text/css"> <lin

我的Django网站不会加载javascript文件,但是对于css部分来说,即使两者都在同一个静态文件夹中,它也可以正常工作

base.html:

<head>
    {% load static %}
    <meta charset="UTF-8">
    <link href="{% static 'login/css/bootstrap.css' %}" rel="stylesheet" type="text/css">
    <link href="{% static 'login/css/bootstrap.min.css' %}" rel="stylesheet" type="text/css">
    <link href="{% static 'login/css/bootstrap-theme.css' %}" rel="stylesheet" type="text/css">
    <link href="{% static 'login/css/bootstrap-theme.min.css' %}" rel="stylesheet" type="text/css">
    <script src="{% static 'login/js/bootstrap.js' %}"></script>
    <script src="{% static 'login/js/bootstrap.min.js' %}"></script>

    <title>LOGIN</title>
</head>
下面是静态文件夹的路径:

/home/nikola/Desktop/GIA/static
我搜索过谷歌,解决方案非常通用,比如带有url.pypython manage.py collectstatic(仅用于部署),没有任何帮助。我不知道


有什么问题吗?

正在加载js文件。我想你只是没有看到js插件工作,因为你没有在
块中加载jquery文件。毕竟,引导js插件依赖于jquery来工作

此外,在大多数实践中,js文件应该在HTML文件的末尾加载,在关闭
标记之前加载,因为它们往往很大,并且您希望浏览器在加载js文件之前先加载较小的资源。因此,您的结构应该如下所示:

<html>
    <head>
        <!-- meta stuff here -->
        <script type="text/javascript" src="https://code.jquery.com/jquery-2.1.4.min.js"></script> <!-- jquery should always load before any other scripts -->
        <link href="css1.css" rel="stylesheet">
        <link href="css2.css" rel="stylesheet">
        ...
        ...
    </head>
    <body>
        ...
        ...
        <script type="text/javascript" src="{% static 'login/js/bootstrap.min.js' %}"></script>
    </body>
</html>

...
...
...
...
  • 确保settings.py中的DEBUG=True
  • 在每个应用程序中保留静态文件夹,在开发时,Django将搜索每个应用程序下的静态文件。仅发布到production ENV,使用python manage.py collectstatic的静态文件夹将在web服务器配置中配置。 如果您使用的是nginx,etc/nginx/sites enabled/config\u文件:

    root  /.project_home/django_root;
    
    location  /static/ {
               alias  /.project_home/django_root/static/;
    }
    

  • 为什么同时加载bootstrap.js和bootstrap.min.js?js是缩小版,这是您应该使用的。同样,css文件也是如此。只需加载min.css版本。另外,如果您检查页面是否有错误,浏览器是否会标记任何错误?这并不能真正解决问题,但感谢您提供的提示。好的,我现在回答您的问题:)对不起,我没有注意到。有一个错误yes:Uncaught TypeError:无法在initHeader(127.0.0.1/:37)在127.0.0.1/:27在127.0.0.1/:206读取null 127.0.0.1/:37的属性“style”,这并不能解决问题。我测试了jquery,它似乎已经加载了,但是其他的js仍然不起作用,甚至我尝试加载的其他自定义js文件也不起作用。顺便说一句,当我运行服务器时,我得到了“get/static/login/css/anim.css HTTP/1.1”304 0,这是自定义的js文件。anim.css是js文件吗?它不应该是一个css文件吗?
    root  /.project_home/django_root;
    
    location  /static/ {
               alias  /.project_home/django_root/static/;
    }